home *** CD-ROM | disk | FTP | other *** search
/ ShareWare OnLine 2 / ShareWare OnLine Volume 2 (CMS Software)(1993).iso / comm2 / pb125_1.zip / CTL.LZH / C1
Text File  |  1993-05-24  |  66KB  |  2,868 lines

  1. BULLETTYPiSetActivity(Bulletins Menu)
  2.  
  3.   *Disp
  4. if (/EXPERT)=(Y) then linefeed(1)
  5. If (/EXPERT)=(Y) Then Goto(prompt)
  6.   *Sdisp
  7. Display(Display\blt,/:SEC/)
  8.  
  9.   *Prompt
  10. jump(Pauseprompt)
  11.  
  12. Say(&14&│$7$&0&%CACT%$0$&14&│&7& You have &15&%LEFT% &7&minutes remaining, &15&%FNAME%.)
  13. MenuAsk%MIN1%(&3&Please enter a selection from the &11&menu&12&: &15&*)
  14.  BigIf (q:loadmain,g:goodbye,x:expert,h:help,?:sdisp,n:new)
  15. Number(%RESP%) ;is it a number?!
  16. IfNotTrue ( Goto (bsel))
  17. Log(--,Bulletin %RESP% Read.)
  18. Display (Display\Bull%RESP%)
  19. goto (disp)
  20.  
  21.   *Loadmain
  22. LoadMem(control\main.mnu)
  23.         
  24.   *Expert
  25. loadsub(control\macros\expert.ctl)
  26. goto (disp)
  27.  
  28.   *help
  29. Log(--,Viewing Bulletins Menu Help)
  30. Display (Display\help\BULL,/:SEC/)
  31. Goto (disp)
  32.  
  33.   *new
  34. LoadSub(control\macros\newbull.ctl)
  35. enter
  36. goto (disp)
  37.  
  38.   *goodbye
  39. LoadSub(control\macros\bye.ctl)
  40. Goto (disp)
  41.  
  42.   *bsel
  43. LoadSub(control\macros\badsel.ctl)
  44. Goto (disp)
  45.  
  46. *Pauseprompt
  47. DefPause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  48. DefPif(s:stop,n:nonstop,g:goodbye)   ;define our pause prompt...
  49. ret
  50. BULLETMNUoSetActivity(Bulletins Menu)
  51.  
  52.   *Disp
  53. if (/EXPERT)=(Y) then linefeed(1)
  54. If (/EXPERT)=(Y) Then Goto(prompt)
  55.   *Sdisp
  56. Display(Display\blt,/:SEC/)
  57.  
  58.   *Prompt
  59. Jump (pauseprompt)
  60. Say(&14&│$7$&0&%CACT%$0$&14&│&7& You have &15&%LEFT% &7&minutes remaining, &15&%FNAME%.)
  61. MenuAsk%MIN1%(&3&Please enter a selection from the &11&menu&12&: &15&*)
  62.  BigIf (q:loadmain,g:goodbye,x:expert,h:help,?:sdisp,n:new)
  63. Number(%RESP%) ;is it a number?!
  64. IfNotTrue ( Goto (bsel))
  65. Log(--,Bulletin %RESP% Read.)
  66. Display (Display\Bull%RESP%)
  67. enter
  68. goto (disp)
  69.  
  70.   *Loadmain
  71. LoadMem(control\main.mnu)
  72.         
  73.   *Expert
  74. loadsub(control\macros\expert.ctl)
  75. goto (disp)
  76.  
  77.   *help
  78. Log(--,Viewing Bulletins Menu Help)
  79. Display (Display\help\BULL,/:SEC/)
  80. Goto (disp)
  81.  
  82.   *new
  83. LoadSub(control\macros\newbull.ctl)
  84. enter
  85. goto (disp)
  86.  
  87.   *goodbye
  88. LoadSub(control\macros\bye.ctl)
  89. Goto (disp)
  90.  
  91.   *bsel
  92. LoadSub(control\macros\badsel.ctl)
  93. Goto (disp)
  94.  
  95. *pauseprompt
  96. DefPause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  97. DefPif(s:stop,n:nonstop,g:goodbye)   ;define our pause prompt...
  98. ret
  99. MESSMNUA*disp
  100. SetActivity (Message Menu)
  101. if (/EXPERT)=(Y) then goto (prompt)
  102.  
  103. *sdisp
  104. Display (Display\MESS,/:SEC/)
  105.  
  106. *prompt
  107. if (/Expert)=(Y) then say()
  108. say(&14&│$7$&0&%CACT%$0$&14&│&7& You have &15&%LEFT% &7&minutes remaining, &15&%FNAME%.&CR&&7&You are currently in the &9&%AREANAME%&7& message area.)
  109. menuask %MIN1%(&3&Please enter a selection from the &11&menu&12&: &15&*)
  110. BigIf (G:GOODBYE,H:HELP,?:SDISP,X:EXP,J:CHANGE,S:SEARCH,SEL:SELECT,M:READER,COPY:COPY,SC:SCAN,Q:MAINMN,R:READMN,E:ENTERMN,F:FILESMN,A:SL0)
  111. goto (bsel)
  112.  
  113. *bsel
  114. loadsub(control\macros\badsel.ctl)
  115. goto (disp)
  116.  
  117.  
  118.  
  119. *GOODBYE
  120. EnufSec(10)
  121. IfNotTrue(Goto(BSel))
  122. LoadSub(CONTROL\MACROS\BYE.CTL)
  123. Goto(Disp)
  124.  
  125. *HELP
  126. EnufSec(10)
  127. IfNotTrue(Goto(BSel))
  128. Display(display\help\MESS,/:SEC/)
  129. Log (--,Viewed Message Menu Help)
  130. Goto (Disp)
  131.  
  132. *EXP
  133. EnufSec(10)
  134. IfNotTrue(Goto(BSel))
  135. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  136. Goto(Disp)
  137.  
  138. *CHANGE
  139. EnufSec(10)
  140. IfNotTrue(Goto(BSel))
  141. LoadSub(CONTROL\MACROS\CHG.CTL)
  142. Goto(Disp)
  143.  
  144. *SEARCH
  145. EnufSec(10)
  146. IfNotTrue(Goto(BSel))
  147. LoadSub(CONTROL\MACROS\SEARCHM.CTL)
  148. Goto(Disp)
  149.  
  150. *SELECT
  151. EnufSec(10)
  152. IfNotTrue(Goto(BSel))
  153. LoadSub(CONTROL\MACROS\SELECT.CTL)
  154. Goto(Disp)
  155.  
  156. *READER
  157. EnufSec(20)
  158. IfNotTrue(Goto(BSel))
  159. LoadSub(CONTROL\MACROS\MREADER.CTL)
  160. Goto(Disp)
  161.  
  162. *COPY
  163. EnufSec(100)
  164. IfNotTrue(Goto(BSel))
  165. LoadSub(CONTROL\MACROS\MCOPY.CTL)
  166. Goto(Disp)
  167.  
  168. *SCAN
  169. EnufSec(10)
  170. IfNotTrue(Goto(BSel))
  171. LoadSub(CONTROL\MACROS\SCANM.CTL)
  172. Goto(Disp)
  173.  
  174. *MAINMN
  175. EnufSec(10)
  176. IfNotTrue(Goto(BSel))
  177. LoadMem(CONTROL\MAIN.MNU)
  178.  
  179. *READMN
  180. EnufSec(10)
  181. IfNotTrue(Goto(BSel))
  182. LoadSub(CONTROL\READ.CTL)
  183. Goto(Disp)
  184.  
  185. *ENTERMN
  186. EnufSec(10)
  187. IfNotTrue(Goto(BSel))
  188. LoadSub(CONTROL\MACROS\ENTER.CTL)
  189. Goto(Disp)
  190.  
  191. *FILESMN
  192. EnufSec(10)
  193. IfNotTrue(Goto(BSel))
  194. LoadMem(CONTROL\FILES.MNU)
  195.  
  196. *SL0
  197. LoadSub(CONTROL\MACROS\ABAND.CTL)
  198. Goto(Disp)
  199. MAINMNUK*Disp
  200. SetActivity (Main Menu)
  201. if(/EXPERT)=(Y) then linefeed(1)
  202. if(/EXPERT)=(Y) then Goto (Prompt)
  203. *sdisp
  204. Display (display\main,/:SEC/)
  205.  
  206. *Prompt
  207. Say(&14&│$7$&0&%CACT%$0$&14&│&7& You have &15&%LEFT% &7&minutes remaining, *)
  208. MenuAsk %MIN1%(&15&%FNAME%.&CR&&3&Please enter a selection from the &11&menu&12&: &15&*)
  209. BigIf (G:BYE,H:HELP,?:SDISP,X:EXP,P:PAGE,Y:STATS,N:NEWS,C:CMNT,B:BMN,Q:QMN,F:FMN,M:MMN,D:DMN,L:LIST,@:SMN,WHO:WHO,CHAT:CHAT,FIND:FND,BANK:BNK,VER:SL0)
  210. Goto (bsel)
  211.  
  212. *bSel
  213. LoadSub(control\macros\badsel.ctl)
  214. Goto (disp)
  215.  
  216. *BYE
  217. EnufSec(10)
  218. IfNotTrue(Goto(BSel))
  219. LoadSub(CONTROL\MACROS\BYE.CTL)
  220. Goto(Disp)
  221.  
  222. *HELP
  223. EnufSec(10)
  224. IfNotTrue(Goto(BSel))
  225. Display(display\help\main,/:SEC/)
  226. Log (--,Viewed Main Menu Help)
  227. Goto (Disp)
  228.  
  229. *EXP
  230. EnufSec(10)
  231. IfNotTrue(Goto(BSel))
  232. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  233. Goto(Disp)
  234.  
  235. *PAGE
  236. EnufSec(10)
  237. IfNotTrue(Goto(BSel))
  238. LoadSub(CONTROL\MACROS\PAGE.CTL)
  239. Goto(Disp)
  240.  
  241. *STATS
  242. EnufSec(10)
  243. IfNotTrue(Goto(BSel))
  244. LoadSub(CONTROL\MACROS\STATS.CTL)
  245. Goto(Disp)
  246.  
  247. *NEWS
  248. EnufSec(10)
  249. IfNotTrue(Goto(BSel))
  250. LoadSub(CONTROL\MACROS\NEWS.CTL)
  251. Goto(Disp)
  252.  
  253. *CMNT
  254. EnufSec(10)
  255. IfNotTrue(Goto(BSel))
  256. LoadSub(CONTROL\MACROS\COMMENT.CTL)
  257. Goto(Disp)
  258.  
  259. *BMN
  260. EnufSec(10)
  261. IfNotTrue(Goto(BSel))
  262. LoadMem(CONTROL\BULLET.MNU)
  263.  
  264. *QMN
  265. EnufSec(10)
  266. IfNotTrue(Goto(BSel))
  267. LoadMem(CONTROL\QUES.MNU)
  268.  
  269. *FMN
  270. EnufSec(10)
  271. IfNotTrue(Goto(BSel))
  272. LoadMem(CONTROL\FILES.MNU)
  273.  
  274. *MMN
  275. EnufSec(10)
  276. IfNotTrue(Goto(BSel))
  277. LoadMem(CONTROL\MESS.MNU)
  278.  
  279. *DMN
  280. EnufSec(20)
  281. IfNotTrue(Goto(BSel))
  282. LoadMem(CONTROL\DOORS.MNU)
  283.  
  284. *LIST
  285. EnufSec(10)
  286. IfNotTrue(Goto(BSel))
  287. LoadSub(CONTROL\MACROS\LIST.CTL)
  288. Goto(Disp)
  289.  
  290. *SMN
  291. EnufSec(100)
  292. IfNotTrue(Goto(BSel))
  293. LoadMem(CONTROL\SYSOP.MNU)
  294.  
  295. *WHO
  296. EnufSec(10)
  297. IfNotTrue(Goto(BSel))
  298. LoadSub(CONTROL\MACROS\MWHO.CTL)
  299. Goto(Disp)
  300.  
  301. *CHAT
  302. EnufSec(10)
  303. IfNotTrue(Goto(BSel))
  304. LoadSub(CONTROL\MACROS\MCHAT.CTL)
  305. Goto(Disp)
  306.  
  307. *MACM
  308. LoadMem(CONTROL\MACSIG.MNU)
  309.  
  310. *FND
  311. LoadSub(CONTROL\MACROS\FIND.CTL)
  312. Goto(Disp)
  313.  
  314. *BNK
  315. LoadSub(CONTROL\MACROS\BANK.CTL)
  316. Goto(Disp)
  317.  
  318. *SL0
  319. LoadSub(CONTROL\MACROS\VER.CTL)
  320. Goto(Disp)
  321. FILESMNU.         *disp
  322. setactivity(Files Menu)
  323. if (/expert)=(Y) then linefeed(1)
  324. if (/EXPERT)=(Y) then goto (prompt)
  325.  
  326. *sdisp
  327. display (display\file,/:SEC/)
  328.  
  329.         *prompt
  330. say(&14&│$7$&0&%CACT%$0$&14&│&7& You have &15&%LEFT% &7&minutes remaining, &15&%FNAME%.)
  331. say(&9&%AREANAME%&7& Conference, &9&%FILNAME%&7& File Area.)
  332. menuask %MIN1%(Please enter a selection from the &11&menu&12&: &15&*)
  333.  BigIf (g:goodbye,h:help,?:sdisp,x:exp,q:main,c:change,l:list,r:read,v:zview,n:new,d:down,u:up,m:move,j:join)
  334.  bigif (del:deltagged,tag:tagfiles,list:ltagged,s:search,w:wild,a:aband)
  335. goto (badsel)
  336.  
  337. *aband
  338. enufsec(10)
  339. ifnottrue(goto (badsel))
  340. loadsub(control\macros\aband.ctl)
  341. goto (disp)
  342.  
  343.         *join
  344. enufsec(10)  ;check security
  345. IfNotTrue (goto (badsel))
  346. loadsub(control\macros\chg.ctl)
  347. goto (disp)
  348.  
  349.         *move
  350. enufsec(90)
  351. ifnottrue (goto (badsel))
  352. loadsub(control\macros\move.ctl)
  353. goto (disp)
  354.  
  355.         *down
  356. enufsec(10)
  357. ifnottrue (goto (badsel))
  358. loadsub(control\macros\DOWN.CTL)
  359. selfarea(/:LASTDOWN/)
  360. goto (disp)
  361.         
  362.         *up
  363. enufsec(20)
  364. ifnottrue (goto (badsel))
  365. loadsub(control\macros\up.ctl)
  366. goto (disp)
  367.  
  368.         *new
  369. enufsec(10)
  370. ifnottrue (goto (badsel))
  371. loadsub(control\macros\NEW.CTL)
  372. goto (disp)
  373.  
  374.         *ltagged
  375. enufsec(10)
  376. ifnottrue (goto (badsel))
  377. loadsub(control\macros\ltagged.ctl)
  378. goto (disp)
  379.  
  380.         *deltagged
  381. enufsec(10)
  382. ifnottrue (goto (badsel))
  383. loadsub(control\macros\deltag.ctl)
  384. goto (disp)
  385.  
  386.         *tagfiles
  387. enufsec(10)
  388. IfNotTrue (goto (badsel))
  389. loadsub(control\macros\tfiles.ctl)
  390. goto (disp)
  391.  
  392.         *Zview
  393. enufsec(10)
  394. ifnottrue (goto (badsel))
  395. loadsub(control\macros\zview.ctl)
  396. goto (disp)
  397.  
  398.         *main
  399. enufsec(10)
  400. ifnottrue (goto (badsel))
  401. jump(pauseprompt)
  402. loadmem(control\main.MNU)
  403.         
  404.         *read
  405. enufsec(10)
  406. ifnottrue (goto (badsel))
  407. loadsub(control\macros\fread.ctl)
  408. goto (disp)
  409.  
  410.         *list
  411. enufsec(10)
  412. ifnottrue (goto (badsel))
  413. loadsub(control\macros\flist.ctl)
  414. goto (disp)
  415.  
  416.         *wild
  417. loadsub(control\macros\Wsearch.ctl)
  418. goto (disp)
  419.  
  420.         *search
  421. enufsec(10)
  422. ifnottrue (goto (badsel))
  423. loadsub(control\macros\SEARCH.CTL)
  424. goto (disp)
  425.  
  426.         *change
  427. enufsec(10)
  428. ifnottrue (goto(badsel))
  429. loadsub(control\macros\change.ctl)
  430. goto (disp)
  431.  
  432.         *exp
  433. enufsec(10)
  434. ifnottrue (goto (badsel))
  435. loadsub(control\macros\expert.ctl)
  436. goto (disp)
  437.  
  438.         *help
  439. enufsec(10)
  440. ifnottrue (goto (badsel))
  441. log(--,Viewing Files Menu Help)
  442. display (display\help\file,/:SEC/)
  443. goto (disp)
  444.  
  445.         *goodbye
  446. enufsec(10)
  447. ifnottrue (goto (badsel))
  448. loadsub(control\macros\bye.ctl)
  449. goto (disp)
  450.  
  451.         *badsel
  452. loadsub(control\macros\badsel.ctl)
  453. goto (disp)
  454.  
  455. *pauseprompt
  456. defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  457. defPif(s:stop,n:nonstop)
  458. ret
  459. ENTERATTCTLσSay(&14&Calculating free storage space...*)
  460. Zap(varr.%NODE%,%var%r)
  461. ClearMem
  462. FreeSpace(%CDRIVE%:)
  463. setequal(l=%aresp%)
  464. CmpVal(%ARESP%,%MINSPACE%)
  465. IfTrue (Goto (notenufs))
  466. eline(38)
  467.  
  468.   *pickprot
  469. Display (display\upPROTS1)
  470. MenuAsk (&3&Which transfer protocol would you like to use?&12&: &15&*)
  471. If (%RESP%)=(Q) Then Return
  472. Len(%RESP%)
  473. NotIf (%ARESP%)=(1) Then Goto (Pprob)
  474. Seek(protocol\%RESP%-AU.BT)
  475. IfTrue (Goto (Pok))
  476.  
  477.   *pprob
  478. loadsub(control\macros\badsel.ctl)
  479. Goto (pickprot)
  480.  
  481.    *Pok
  482. addcomma(%var%l)
  483. Say(&CR&&11&%ARESP% &15&bytes free.)
  484. SetEqual(r=%RESP%)
  485. cMenuAsk%cron% (&CR&&3&Please enter the &11&name &3&of the file to attach&12&:&15& *)
  486. If (%RESP%)=(<CR>) Then Return
  487. SetEqual(x=%RESP%)
  488. Seek(%ATTPAT%%var%x)
  489. IfTrue (Goto (alreadyhere))
  490. Say(&CR&&11&We're ready to receive the file.  Please start sending now.)
  491. If (%BAUD%)=(LOCAL) Then Goto (locul)
  492. FixFile(protocol\%var%r-au.bt,protocol\%var%r-au.bat)
  493. Exec(protocol\%var%r-au.BAT│)
  494. Kill(protocol\%var%r-au.bat)
  495. Goto (success)
  496.  
  497.   *locul
  498. MenuAsk (&3&Please enter the &10&path&3& for this file&12&: &15&*)
  499. fCopy(%RESP%\%var%x,%ATTPAT%%var%x)
  500. Goto (success)
  501.  
  502.   *success
  503. NotIf (%ARESP%)=(0) Then Goto (aborted)
  504. Log(--,Attach uploaded (%var%x))
  505. Display(display\attsucc)
  506. return
  507.  
  508.   *notenufs
  509. display(display\nospce)
  510. Return
  511.         
  512.   *aborted
  513. SetEqual(x=)
  514. FlushOut
  515. Log(--,Attach upload aborted (%var%x))
  516. Display(display\attabt)
  517. Return
  518.         
  519.   *alreadyhere
  520. Display (display\HERENOW)
  521. Goto (pok)
  522. OPENCTLÄ jump (InitSetup)
  523.  
  524.  Jump (AnsDetect)
  525.  
  526.  Say (&CR&&3&Would you like &12&ANSI&3&/Color graphics?*)
  527.  Jump (YesNo)
  528.  SetEqual (/Graphics=ASCII)
  529.  If (%RESP%)=(Yes) then SetEqual (/Graphics=ANSI)
  530.  
  531.  Display (display\WELCOME)
  532.  
  533. setequal(t=0)
  534.  
  535. *CONT
  536.  
  537. inc(t)
  538. if (%VAR%T)=(5) then loadmem(control\no.ctl)
  539.  
  540.  MenuAsk%MIN1% (&CR&&3&Please enter your first name here&12&: &15&*)
  541.  SetEqual (a=%RESP%)
  542.  Find (%var%a, )
  543.  NotIf (%ARESP%)=(0) then Goto (Check)
  544.  MenuAsk (&3& Please enter your last name here&12&: &15&*)
  545.  SetEqual (b=%RESP%)
  546.  
  547. *CHECK
  548.  jump (DoName)
  549.   
  550. *STSEEK
  551.  SeekUser (%NAME%)
  552.  if (%ARESP%)=(No) then goto (NotFound)
  553.  If (%NDLOCK%) = (1) then Loadmem(control\lockout.ctl)
  554.  
  555.  Say (&CR&&3&Are you the "%NDNAME%" from "%NDFROM%"?*)
  556.  jump (YesNo)
  557.  If (%RESP%)=(No) then Goto (dupname)
  558.  MenuEqual (e=%NDPASS%)
  559.  Say (&CR&Dots will echo instead of actual letters of your password.)
  560.  SetEqual (f=0)
  561.  
  562. *PASSWORD
  563.  Say (&3&What is your password?&11& (                    )&15&*)
  564.  Back(21)
  565.  cGetPass%MIN1%%LEN20% (.)
  566.  If (%RESP%) = (%VAR%E) then Goto (Ok)
  567.  inc(f)
  568.  Log (--,(%NAME%) Password (%RESP%) incorrect...)
  569.  If (%VAR%F) = (3) then Goto (lasttry)
  570.  If (%VAR%F) = (4) then Goto (badpass)
  571.  beep(1)
  572.  Say(&CR&&12&Password incorrect. Try again please...&CR&)
  573.   goto (password)
  574.  
  575. *LASTTRY
  576.  Say (&CR&&12&This is your last try! Next time you will be logged off!&CR&)
  577.  goto (password)
  578.  
  579. *NOTFOUND
  580.  badseek(%NAME%)
  581.  iftrue (loadmem(control\badname.ctl))
  582.  beep(1)
  583.  Say (&CR&We couldn't find "%NAME%" in our user file.)
  584.  Say (&CR&&3&Did you spell your name correctly?*)
  585.  jump (YesNo)
  586.  If (%RESP%)=(No) then Goto (TryAgain)
  587.  Display (display\NONMEMB)
  588.  Say (&CR&&3&Would you like to become a member of %BBS%?*)
  589.  jump (YesNo)
  590.  If (%RESP%)=(No) then loadmem (control\refused.ctl)
  591.  LoadMem (control\newuser.ctl)
  592.  
  593. *TRYAGAIN
  594.  Say (&CR&&12&Try again ...)
  595.  Log (--,Attempted logon as %NAME%)
  596.  Goto (Cont)
  597.  
  598. *DUPNAME
  599.  Display (display\DUPE)
  600.  Goto (Cont)
  601.  
  602. *BADPASS
  603.  LoadMem(control\badpass.ctl)
  604.   
  605. *OK
  606.  SetActivity (Logging On...)
  607.  Goto (Connect)                             ;password's OK so let them in...
  608.  
  609. *CONNECT
  610.  UserLogin(%NDNUMB%,User %NDNUMB%: %NDNAME% Logged On (%BAUD%))
  611.  If (%ARESP%)=(ALREADY ON) then Goto (alreadyon)
  612.  If (/SEC)=(%SYSSEC%) then Goto (syssec)
  613.  
  614. *CONCLR
  615.  ClearScr
  616.  selarea(/:lastmsg/)
  617.  listfile(areas\farea/:lastmsg/)
  618.  Log(->,Call #%CALLERS%, %GRAPHICS%, %NDFROM%, Last: /:LAST/, Sec: /:SEC/)
  619.  If (/SUB)=(Y) then Goto (subscriber)
  620.  
  621. *SECSHOW
  622.  InpClose
  623.  Display (display\sec/:SEC/)
  624.  fDate(display\newsltr.asc)
  625.  CmpDate(/:LAST/,%ARESP%)
  626.  IfNotTrue( display (display\newnews))
  627.  Say(&3&Would you like to view our newsletter?*)
  628.  jump (YesNo)
  629.  If (%RESP%) = (No) then Goto (mailchk)
  630.  Log(--,Viewed Newsletter)
  631.  Display(display\NEWSLTR)
  632.  linefeed(1)
  633.  Enter
  634.  
  635. *MAILCHK
  636.  cmpval(/:lastdown/,%maxfarea%)
  637.  ifnottrue(setequal(/lastdown=1))
  638.  selfarea(/:lastdown/)
  639.  ClearScr
  640.  NiceDate(/:LAST/)
  641.  setequal(^53=%ARESP%)
  642.  If (/LASTCHK)=(00-00-00) then setequal(^58=N/A)
  643.  if (/LASTCHK)=(00-00-00) then goto (bakn)
  644.  NiceDate(/:LASTCHK/)
  645.  setequal (^58=%ARESP%)
  646.  
  647. *BAKN
  648.  say(&CR&&15&%BBS% &12&Statistics&10&)
  649.  say(&CR&User Information:&11&&CR&)
  650.  say(Security Level                : &12&%sec%&11&)
  651.  nicedate(/:last/)
  652.  say(Last Call                     : &12&%aresp%&11&)
  653.  say(Number of Times on BBS        : &12&/:timeson/&11&)
  654.  say(Graphics Mode                 : &12&%graphics%&11&)
  655.  nicedate(/:lastchk/)
  656.  say(Last New Files Check          : &12&%aresp%&11&)
  657.  nicedate(/:first/)
  658.  say(First Call                    : &12&%aresp%&11&)
  659.  say(Time Limit                    : &12&%LIMIT% minutes&11&)
  660.  say(&CR&&10&BBS Information:&11&&CR&)
  661.  nicedate(%since%)
  662.  say(This BBS Has Been Online Since: &12&%aresp%&11&)
  663.  ;say(This BBS Has Received         : &12&%CALLERS% callers&11&)
  664.  say(This BBS is Currently Running : &12&Powerboard Version %VER%&11&)
  665.  nicetime(%filupt%)
  666.  setequal(a=%aresp%)
  667.  nicedate(%filup%)
  668.  say(Last Upload to File Area      : &12&%aresp% %var%a&11&)
  669.  nicetime(%msgupt%)
  670.  setequal(a=%aresp%)
  671.  nicedate(%msgup%)
  672.  say(Last Message Entered          : &12&%aresp% %var%a&CR&)
  673.  enter
  674. If (/:WAIT/)=(N) then LoadMem(control\BULLETS.CTL)
  675. ClearScr
  676. LoadMem(control\mscan.ctl)
  677.  
  678. *SUBSCRIBER
  679.  DateOK(/:SUBDATE/)
  680.  IfNotTrue (goto (secshow))
  681.  CmpDate(%DATE%,/:SUBDATE/)
  682.  IfNotTrue(goto (sok))
  683.  Display (display\SEXP,/:SEC/)
  684.  InpOpen (sub.bbs)
  685.  
  686. *STRSUB
  687.  fEndIF(secshow)
  688.  InpRead
  689.  SetEqual(b=%ARESP%)
  690.  SetEqual(a=%var%b)
  691.  Len(%var%a)
  692.  If (%ARESP%)=(0) then Goto (strsub)
  693.  Get(%var%a,1,1)
  694.  If (%ARESP%)=(;) then Goto (strsub)
  695.  Find(%var%b,,)
  696.  If (%ARESP%)=(0) then Goto (strsub)
  697.  SetEqual(a=%var%b)
  698.  SetEqual(c=%ARESP%)
  699.  AddVar(&c+-1=c)
  700.  Get(%var%a,1,%var%c)
  701.  NotIF (%ARESP%)=(/SEC) then Goto (strsub)
  702.  AddVar(&c+2=c)
  703.  Get(%var%b,%var%c,10)
  704.  SetEqual (/SEC=%ARESP%)
  705.  SetEqual (/SUB=N)
  706.  Log(--,User's subscription expired.)
  707.  Goto (secshow)
  708.  
  709. *SOK
  710.  Display(display\SUB,/:SEC/)
  711.  Enter
  712.  Goto (secshow)
  713.  
  714. *ALREADYON
  715.  Display(display\ALREADY)
  716.  Log(<<,User already on other node!)
  717.  QuitBBS
  718.  
  719. *CHKEOF2
  720.  inc(h)
  721.  Goto (chkeof)
  722.  
  723. *SYSOP
  724.  Jump (DefPrompt)
  725.  Kill (cnodes.%NODE%,inodes.%NODE%,tagged.%NODE%,tagged2.%NODE%)
  726.  SetActivity (SYSOP Logon)
  727.  Setequal(/Graphics=ANSI)
  728.  UserLogin(1,SYSTEM OPERATOR Logged On Locally)
  729.  Log (->,Call %%CALLERS%, %GRAPHICS%, Last: /:LAST/)
  730.  Goto (secshow)
  731.  
  732. *SYSSEC
  733.  If (%SYSP%)=() then Goto (conclr)
  734.  Say(&3&Sysop Password?&12&: &15&*)
  735.  MenuEqual(a=%SYSP%)
  736.  cGetPass(*)
  737.  If (%RESP%)=(&a) then goto (conclr)
  738.  Log(!!,Incorrect Sysop Pass (%RESP%))
  739.  Say(&12&Incorrect Attempt!)
  740.  QuitBBS
  741.  
  742.  
  743. *INITSETUP
  744.  jump (defprompt)
  745.  if (%ON%)=(FROM DOOR) then loadmem(control\doorback.ctl)
  746.  SetEqual (/sec=%NEWSEC%)
  747.  SetEqual (/SCREENLEN=23)
  748.  SetActivity (Logging in...)
  749.  linefeed(1)
  750.  %Clogin% Kill (cnodes.%NODE%,inodes.%NODE%,tagged.%NODE%,tagged2.%NODE%,psys.%node%)
  751. ret
  752.  
  753. *yesno
  754.  say( &9&[   ]&14&*)
  755.  Back(4)
  756.  YesNoAsk (*)
  757. ret
  758.  
  759. *ansDetect
  760.  DetectAnsi()
  761.  setequal(/graphics=ANSI)
  762.  if (%ARESP%)=(No) then setequal(/graphics=ASCII)
  763.  if (%ARESP%)=(No) then say( No Ansi Detected)
  764.  if (%ARESP%)=(Yes) then say (&14& Ansi Detected)
  765. ret
  766.  
  767. *doname
  768.  NameSplit (%var%a,a,b)
  769.  NameComb (%var%a,%var%b,d)
  770.  Namequal (/name=%var%d)
  771.  nameok
  772.  ifnottrue(goto (cont))
  773.  SetEqual (d=%NAME%)
  774. ret
  775.  
  776. *defPrompt
  777.  DefPause ($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  778.  DefPif (s:stop,n:nonstop)
  779. ret
  780. ZIPVIEWCTL *EXLP
  781.  Say(&CR&&7& Length  Method   Size  Ratio   Date    Time   CRC-32  Attr  Name&11&)
  782.  InpRead
  783.  Say(──────────────────────────────────────────────────────────────────&15&)
  784.  
  785. setequal(l=0)
  786. setequal(p=2)
  787. resetpause
  788.  
  789. DO
  790.  fEndIf(eloop)
  791.  InpRead
  792.  SetEqual(h=%ARESP%)
  793.  Get (%ARESP%,1,3)
  794.  If (%ARESP%)=( --) then goto (elp)
  795.  inc(l)
  796.  Say(%var%h)
  797.  inc(p)
  798.  if (&p)=(/screenlen) then jump (pause)
  799. LOOP
  800.  
  801. *ELP
  802.  InpRead
  803.  Say(&11&──────────────────────────────────────────────────────────────────)
  804.  get (%aresp%,1,50)
  805.  Say(&12&%ARESP%)
  806.  InpClose
  807.  say (&CR&&14&  %var%l File(s) in archive)
  808.  
  809. *ELOOP
  810.  MenuAsk %MIN1%%LEN1% (&CR&&3&Would you like to &11&(&7&R&11&)ead Textfile, (&7&D&11&)ownload File, (&7&L)&11&ist, (&7&Q&11&)uit?&14& *)
  811.  BigIf (d:download,r:read,q:quit,l:list)
  812.  Goto (eloop)
  813.  
  814. *LIST
  815.  InpClose
  816.  InpOpen(zipinfo.txt)
  817.  linefeed(1)
  818.  
  819. DO
  820.  InpRead
  821.  Get (%ARESP%,1,7)
  822.  NotIf (%ARESP%)=() then if (%ARESP%)=( Length) then goto (exlp)
  823. EofLoop
  824.  
  825. *QUIT
  826.  InpClose
  827.  SelFArea (/:lastdown/)
  828.  Return
  829.  
  830. *READ
  831.  Say(&CR&&3&Please enter the name of the file to read&12&: &14&(            )&15&*)
  832.  Back(13)
  833.  MenuAsk%CRON%%LEN12%(*)
  834.  if (%RESP%)=(<CR>) then goto (eloop)
  835.  Say(&CR&&11&Retriving &7&%RESP%&11&, Please Wait!&7&)
  836.  Exec(md zvtemp>nul,) ;create temporary dir
  837.  Zap(yes,Yes)
  838.  Exec(del zvtemp <yes >nul,)
  839.  Exec(pkunzip %FILPATH%%var%e %RESP% zvtemp\ >nul,)
  840.  View (zvtemp\%RESP%)
  841.  Exec(del zvtemp <yes >nul,)
  842.  Enter
  843.  Goto (eloop)
  844.  
  845. *DOWNLOAD
  846.  Say(&3&&CR&Please enter the name of the file to download&12&: &14&(            )&15&*)
  847.  Back(13)
  848.  MenuAsk%CRON%%LEN12%(*)
  849.  if (%RESP%)=(<CR>) then goto (eloop)
  850.  Say(&CR&&11&Retriving &7&%RESP%&11&, Please Wait!&7&)
  851.  Exec(md zvtemp >nul,) ;create temporary dir
  852.  Zap(yes,Yes)
  853.  Exec(del zvtemp <yes,)
  854.  Exec(pkunzip %FILPATH%%var%e %RESP% zvtemp\ >nul,)
  855.  SetEqual(d=%RESP%)
  856.  Seek(zvtemp\%RESP%)
  857.  IfNotTrue (goto (eloop))
  858.  
  859. *PICKP
  860.  Display (Display\DN-PROTS)
  861.  MenuAsk %MIN1% (&3&Which transfer protocol would you like to use?&11&(or Q to Quit)&12&: &15&*)
  862.  Find(%RESP%,\)      ;make sure they didnt stick a backslash in there
  863.  NotIf (%ARESP%)=(0) Then Goto (eloop)
  864.  BigIf(q:eloop)
  865.  SetEqual(b=%RESP%)
  866.  Seek(protocol\%var%b-VD.BT)    ;check to see If protocol exists..
  867.  IfNotTrue(Goto (pickp))
  868.  Len(%var%b)
  869.  NotIf (%ARESP%)=(1) then goto (nobat)
  870.  Say(&CR&&3&       Would you like to download this file? &9&[   ]&14&*)
  871.  Back(4)
  872.  YesNoAsk(*)
  873.  If (%RESP%)=(No) Then Goto (eloop)
  874.  Say(&CR&&11&We're sending the file you requested. Please get ready to receive it now.)
  875.  If (%LOCAL%)=(TRUE) Then Goto (eloop)
  876.  FixFile(protocol\%var%b-vd.bt,protocol\%var%b-vd.bat)
  877.  InitClock
  878.  Exec(protocol\%var%b-vd.BAT│)
  879.  Kill(protocol\%var%b-vd.bat)
  880.  If (%LOCAL%)=(FALSE) Then toglocal
  881.  NotIf (%ARESP%)=(0) Then Goto (nsc)
  882.  XferTime
  883.  SetEqual(e=%ARESP%)
  884.  Size(zvtemp\%var%d)
  885.  MultVar(%XMIN%*60=o)
  886.  DivVar(%ARESP%/%var%o=g)         ;calculate CPS rate
  887.  CnvtK(%ARESP%)
  888.  AddVar(%ARESP%+/:KDOWN/=o)
  889.  SetEqual(/KDOWN=%var%o)
  890.  Say(%BEEP%*)
  891.  Log(--,%var%d Downloaded from Zip:%var%e.)
  892.  Log(--,Rate: %var%g CPS)
  893.  AppendTo(logs\DOWNLOAD.%NODE%,%var%d downloaded by %NAME% at %TIME% on %DATE%.)
  894.  SetEqual(a=/:DOWNLOADS/)
  895.  inc(a)
  896.  SetEqual(/DOWNLOADS=%var%a)
  897.  If (%LOCAL%)=(TRUE) Then toglocal
  898.  Display (Display\SUCCESS)
  899.  Exec(del zvtemp <yes)
  900.  Enter
  901.  Goto (eloop)
  902.  
  903. *NOBAT
  904.  Say(&CR&&15&No batch protocols allowed for transfering this file.&CR&)
  905.  Goto (pickp)
  906.  
  907. *nsc
  908. toglocal
  909. goto (eloop)
  910.  
  911. *pause
  912. setequal(p=1)
  913. pauseprompt
  914. if (%ARESP%)=(STOP) then goto (elp)
  915. ret
  916. VIEWBCTL▒say(&CR&&3&Would you like to view the &11&bulletins menu&3&? &9&[   ]&14&*)
  917. back(4)
  918. yesnoask(*)
  919. if (%RESP%)=(No) then loadmem(control\main.mnu)
  920. loadmem(control\bullet.mnu)
  921. LOCKOUTCTLûLog (--,Locked out user (%var%d) attempted)  ;log info to callers log
  922. Log (--,to log onto the BBS.)
  923. Display(display\LOCKOUT)
  924. secpause(3)
  925. QuitBBS
  926. BADNAMECTLMDisplay(display\BADNAME)
  927. Log (--,Alias (%var%d) attempted logon.)
  928. QuitBBS
  929. BATCHCTL?Kill(Free.%NODE%,batch.%node%)
  930.  
  931.         *startbatch
  932. SetEqual(m=0)
  933. SetEqual(w=0)
  934. setequal(d=)
  935.  
  936.         *fname
  937. Say(&10&Pressing (&11&ENTER&10&) will allow you to start the download.)
  938. Say(&3&Please enter name of the file to download&12&: &14&(&F&12)&15&*)
  939. Back(13)
  940. MenuAsk%NOCR%%CRON%%LEN12%(*)
  941. if (%RESP%)=(<CR>) then Say ()
  942. If (%RESP%)=(<CR>) Then Goto (entpressed)
  943. len(%Resp%)
  944. Back(%ARESP%)
  945. AddDef(.%DEFEXT%)
  946. say (%Resp%)
  947. if (%Resp%)=(&d) then goto (ah)
  948. Say(&CR&&11&Please wait!... We're searching for the file...*)
  949. SeekFall(%RESP%)
  950. If (%ARESP%)=(INVALID) Then Goto (invfn)
  951. If (%ARESP%)=(No) Then Goto (nothere)
  952. If (%ARESP%)=(NOT ENOUGH) Then Goto (notenuf)
  953. If (%RATIO%)=(NOT OK) Then Goto (badratio)
  954. selFarea(%ARESP%)
  955. Size(%FILPATH%%RESP%)
  956. setequal(j=%aresp%)
  957. Say(Found!&CR&&CR&&14& ───────  &12&Statistics for %RESP% &14& ───────&15&)
  958. Say(Free Download: &11&%FREE% &15&*)
  959. If (%FREE%)=(No) Then Say( *)
  960. Say(&F&8&Size: &11&%ARESP% &15&)
  961. fDate(%FILPATH%%RESP%)
  962. Say(Dated: &11&%ARESP% &15&&F&9&Transfer Time: *)
  963. tTime(%var%J)
  964. Say(&11&%ARESP%&CR&)
  965. setequal(g=%ttim%)
  966. if (%FREE%)=(Yes) then setequal(g=0)
  967. AddVar(&m+&g=m)
  968. SetEqual(d=%RESP%)
  969.  
  970. AppendTo(free.%NODE%,%FREE%)
  971. IfTrue( AddVar(&m+-%TTIM%=m))
  972. AppendTo(batch.%NODE%,%FILPATH%%var%d)
  973. inc(w)
  974. Goto (fname)
  975.         
  976.         *initxfer
  977. CmpVal(%var%m,/:LEFT/)
  978. IfNotTrue( Goto (notenuftime))
  979. Say(&3&     Would you like to download these files? &9&[   ]&14&*)
  980. Back(4)
  981. YesNoAsk(*)
  982. If (%RESP%)=(No) Then Goto (ex)
  983. Say(&3&Would you like us to log you off afterwards? &9&[   ]&14&*)
  984. Back(4)
  985. YesNoAsk(*)
  986. SetEqual(m=%RESP%)
  987. Say(&CR&&11&We're sending the files you requested. Please get ready to receive them now.)
  988. FixFile(protocol\%var%b-d.bt,protocol\%var%b-d.bat)
  989. InitClock
  990. Exec(protocol\%var%b-d.BAT│)
  991. Kill(protocol\%var%b-d.bat)
  992.         
  993.         *success
  994. TogLocal
  995. NotIf (%ARESP%)=(0) Then Goto (aborted)
  996. XferTime
  997. SetEqual(e=%ARESP%)
  998. InpOpen(batch.%NODE%)
  999. If (%ARESP%)=(ERROR) Then Goto (dsucc)
  1000. SetEqual(t=0)
  1001. say()
  1002. SetEqual(a=/:DOWNLOADS/)
  1003. Kill(tagged.%NODE%)
  1004. SetEqual(c=0)
  1005.         
  1006.         *stcalc
  1007. inc(c)
  1008. InpRead
  1009. SetEqual(d=%ARESP%)
  1010. Size(%var%d)
  1011. AddVar(&t+%ARESP%=t)
  1012. log(--,%var%d Downloaded (batch).)
  1013. AppendTo(logs\DOWNLOAD.%NODE%,%var%d downloaded by %NAME% at %TIME% on %DATE%.)
  1014. InpLine(free.%NODE%,%var%c)
  1015. NotIf(%ARESP%)=(Yes) Then inc(a)
  1016. Iftrue (Goto (fre))
  1017. fEndIf(donecalc)
  1018. Goto (stcalc)
  1019.  
  1020. *fre
  1021. Size(%var%d)
  1022. tTime(%ARESP%)
  1023. AddVar(/:LEFT/+%TTIM%=a)
  1024. SetEqual(/left=%var%a)
  1025. fEndIf(donecalc)
  1026. Goto (stcalc)
  1027.  
  1028.         *donecalc
  1029. InpClose
  1030. Say(%BEEP%)
  1031. MultVar(%XMIN%*60=o)
  1032. DivVar(&t/%var%o=g)
  1033. CnvtK(%var%t)
  1034. AddVar(%ARESP%+/:KDOWN/=o)
  1035. SetEqual(/KDOWN=%var%o)
  1036. SetEqual(/DOWNLOADS=%var%a)
  1037. Log(--,Rate: %var%g CPS)
  1038.         
  1039.         *dsucc
  1040. TogLocal
  1041. Display (Display\SUCCESSB)
  1042. if (%VAR%B)=(HS) then loadmem(control\hslink.ctl)
  1043. If (&m)=(Yes) Then Goto (autooff)
  1044.         
  1045.         *ex
  1046. Kill(free.%NODE%)
  1047. SelFarea(/:LASTDOWN/)
  1048. say()
  1049. return
  1050.         
  1051.         *aborted
  1052. TogLocal
  1053. Log(--,Batch Download aborted.)
  1054.         
  1055.         *lcl
  1056. Display (Display\ABORTED)
  1057. Goto (ex)
  1058.         
  1059.         *badratio
  1060. Display(Display\BADRATIO)
  1061. SelFarea(/:LASTDOWN/)
  1062. say()
  1063. return
  1064.         
  1065.         *autooff
  1066. loadmem(control\autoOff.ctl)
  1067.         
  1068.         *free
  1069. Log(--,Freefile downloaded, time refunded.)
  1070. AddVar(%XMIN%+%LEFT%=t)
  1071. SetEqual(/LEFT=t)
  1072. If (&m)=(Yes) Then Goto (autooff)
  1073. Goto (ex)
  1074.         
  1075.         *Notenuf
  1076. Display (Display\fbadsec)
  1077. Goto (fname)
  1078.         
  1079.         *nothere
  1080. Display(Display\notfnd)
  1081. Goto (fname)
  1082.         
  1083.         *invfn
  1084. Display(Display\INVALID)
  1085. FlushOut
  1086. SelFarea(/:LASTDOWN/)
  1087. Enter
  1088. Goto (fname)
  1089.         
  1090.         *entpressed
  1091. say()
  1092. If (&w)=(0) Then return
  1093. Goto (initxfer)
  1094.         
  1095.         *notenuftime
  1096. Display(Display\NODLTIME)
  1097. Return
  1098.  
  1099. *ah
  1100. Say(&CR&&12&That file is already in the download batch!&CR&)
  1101. goto (fname)
  1102. REFUSEDCTLºDisplay(display\REFUSED)    ;they don't want to become a member!!!!! ask why...
  1103. Say (%hCyan%(                                                            )%White%*)
  1104. Back (61) ;go back 61 spaces...
  1105. Ask%MIN1%%LEN60% (*)
  1106. Say (&CR&%Yellow%Thank you very much for your cooperation.&CR&)
  1107. Log (--,User (%var%d) declined membership because:)
  1108. Log (--,%RESP%)                         ;log to the callers log
  1109. QuitBBS  ;Hang up
  1110. GENTYP⌠*Disp
  1111. SetActivity (Unnamed Menu)
  1112. if(/EXPERT)=(Y) then linefeed(1)
  1113. if(/EXPERT)=(Y) then Goto (Prompt)
  1114. *sdisp
  1115. Display (display\main,/:SEC/)
  1116.  
  1117. *Prompt
  1118. Say(&14&│$7$&0&%CACT%$0$&14&│&7& You have &15&%LEFT% &7&minutes remaining, *)
  1119. MenuAsk %MIN1%(&15&%FNAME%.&CR&&3&Please enter a selection from the &11&menu&12&: &15&*)
  1120. BigIf (G:BYE,H:HELP,?:SDISP,X:EXP)
  1121. Goto (bsel)
  1122.  
  1123. *bSel
  1124. LoadSub(control\macros\badsel.ctl) ;invalid selection
  1125. Goto (disp)
  1126.  
  1127. *BYE
  1128. EnufSec(10)
  1129. IfNotTrue(Goto(BSel))
  1130. LoadSub(CONTROL\MACROS\BYE.CTL)
  1131. Goto(Disp)
  1132.  
  1133. *HELP
  1134. EnufSec(10)
  1135. IfNotTrue(Goto(BSel))
  1136. Display(display\help\main,/:SEC/)
  1137. Log (--,Viewed Main Menu Help)
  1138. Goto (Disp)
  1139.  
  1140. *EXP
  1141. EnufSec(10)
  1142. IfNotTrue(Goto(BSel))
  1143. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  1144. Goto(Disp)
  1145. QUESTYPq*disp
  1146. setactivity(Quest. Menu)
  1147. if (/Expert)=(Y) then linefeed(1)
  1148. if (/EXPERT)=(Y) then goto (prompt)
  1149. *sdisp
  1150. display (display\ques,/:SEC/)
  1151.  
  1152. *prompt
  1153. say(&14&│$7$&0&%CACT%$0$&14&│&7& You have &15&%LEFT% &7&minutes remaining, &15&%FNAME%.)
  1154. menuask %MIN1%(&3&Please enter a selection from the &11&menu&12&: &15&*)
  1155.  
  1156. BigIf (g:goodbye,q:main,h:help,?:sdisp,x:exp)
  1157.  
  1158. number(%RESP%)
  1159. if (%ARESP%)=(No) then goto (bsel)
  1160. say(&7&)
  1161. seek(ques\QUEST%RESP%.que)
  1162. if (%ARESP%)=(No) then goto (bsel)
  1163.  
  1164. loadsub(ques\QUEST%RESP%.que)
  1165. goto (disp)
  1166.  
  1167. *main
  1168. loadmem(control\MAIN.MNU)
  1169.  
  1170. *exp
  1171. loadsub(control\macros\expert.ctl)
  1172. goto (disp)
  1173.  
  1174. *help
  1175. log(--,Viewing Quest. Menu Help)
  1176. display (display\help\ques,/:SEC/)
  1177. goto (disp)
  1178.  
  1179. *goodbye
  1180. enufsec(10)
  1181. IfNotTrue (goto (bsel))
  1182. loadsub(control\macros\bye.ctl)
  1183. goto (disp)
  1184.  
  1185. *bsel
  1186. loadsub(control\macros\badsel.ctl)
  1187. goto (disp)
  1188. BADPASSCTL)Log (--,User (%var%d) entered an invalid)
  1189. Log (--,password 4 times.)
  1190. if (%BPComment%)=(No) then QuitBBS ;BPComment is set via PBConfig
  1191. SetEqual (q=10)
  1192. Display (display\badpass)
  1193. SetEqual (b=Password Failure)
  1194. LoadSub(control\macros\comment.ctl,goto (stc))
  1195. Display(display\BADPASS2)
  1196. QuitBBS
  1197. QUESMNUm*disp
  1198. SetActivity (Quest. Menu)
  1199. if (/Expert)=(Y) then linefeed(1)
  1200. if (/EXPERT)=(Y) then goto (prompt)
  1201. *sdisp
  1202. Display (display\ques,/:SEC/)
  1203.  
  1204. *prompt
  1205. say(&14&│$7$&0&%CACT%$0$&14&│&7& You have &15&%LEFT% &7&minutes remaining, &15&%FNAME%.)
  1206. menuask %MIN1%(&3&Please enter a selection from the &11&menu&12&: &15&*)
  1207.  
  1208. BigIf (G:GOODBYE,Q:MAIN,H:HELP,?:SDISP,X:EXP)
  1209.  
  1210. number(%RESP%)
  1211. if (%ARESP%)=(No) then goto (bsel)
  1212. say(&7&)
  1213. seek(ques\QUEST%RESP%.que)
  1214. if (%ARESP%)=(No) then goto (bsel)
  1215.  
  1216. loadsub(ques\QUEST%RESP%.que)
  1217. goto (disp)
  1218.  
  1219. *bsel
  1220. loadsub(control\macros\badsel.ctl)
  1221. goto (disp)
  1222.  
  1223. *GOODBYE
  1224. EnufSec(10)
  1225. IfNotTrue(Goto(BSel))
  1226. LoadSub(CONTROL\MACROS\BYE.CTL)
  1227. Goto(Disp)
  1228.  
  1229. *MAIN
  1230. LoadMem(CONTROL\MAIN.MNU)
  1231.  
  1232. *HELP
  1233. Display(display\help\ques,/:SEC/)
  1234. Log (--,Viewed Quest. Menu Help)
  1235. Goto (Disp)
  1236.  
  1237. *EXP
  1238. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  1239. Goto(Disp)
  1240. DPHONECTLôlog(!!,User attempted logon with active)
  1241. log(!!,user's phone number (/:phone/))
  1242. appendto(badnames.bbs,%NAME%)
  1243. display(display\dphone)
  1244. quitbbs
  1245. DOORSTYP█*disp
  1246. SetActivity (Doors Menu)
  1247. if (/Expert)=(Y) then linefeed(1)
  1248. if (/EXPERT)=(Y) then goto (prompt)
  1249.  
  1250. *sdisp
  1251. Display (display\doors,/:SEC/)
  1252.  
  1253. *prompt
  1254. Say(&14&│$7$&0&%CACT%$0$&14&│&7& You have &15&%LEFT% &7&minutes remaining, &15&%FNAME%.)
  1255. MenuAsk %MIN1% (&3&Please enter a selection from the &11&menu&12&: &15&*)
  1256. BigIf (G:GOODBYE,Q:MAIN,H:HELP,?:SDISP,X:EXP)
  1257. number(%RESP%)
  1258. ifNotTrue( goto (bsel))
  1259. seek(door%RESP%.Bat)
  1260. ifnottrue(goto (bsel))
  1261. Display(Display\door%RESP%)
  1262. Log(--,Executing Door #%RESP%)
  1263. FixFile (door.bt,door.bat)
  1264. Say(&14&&CR&Please wait, Opening Door #%resp% . . .*)
  1265. Exit (80,door|)
  1266.  
  1267. *bsel
  1268. loadsub(control\macros\badsel.ctl)
  1269. goto (disp)
  1270.  
  1271. *GOODBYE
  1272. EnufSec(10)
  1273. IfNotTrue(Goto(BSel))
  1274. LoadSub(CONTROL\MACROS\BYE.CTL)
  1275. Goto(Disp)
  1276.  
  1277. *MAIN
  1278. LoadMem(CONTROL\MAIN.MNU)
  1279.  
  1280. *HELP
  1281. EnufSec(10)
  1282. IfNotTrue(Goto(BSel))
  1283. Display(display\help\door,/:SEC/)
  1284. Log (--,Viewed Doors Menu Help)
  1285. Goto (Disp)
  1286.  
  1287. *EXP
  1288. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  1289. Goto(Disp)
  1290. DOORSMNU█*disp
  1291. SetActivity (Doors Menu)
  1292. if (/Expert)=(Y) then linefeed(1)
  1293. if (/EXPERT)=(Y) then goto (prompt)
  1294.  
  1295. *sdisp
  1296. Display (display\doors,/:SEC/)
  1297.  
  1298. *prompt
  1299. Say(&14&│$7$&0&%CACT%$0$&14&│&7& You have &15&%LEFT% &7&minutes remaining, &15&%FNAME%.)
  1300. MenuAsk %MIN1% (&3&Please enter a selection from the &11&menu&12&: &15&*)
  1301. BigIf (G:GOODBYE,Q:MAIN,H:HELP,?:SDISP,X:EXP)
  1302. number(%RESP%)
  1303. ifNotTrue( goto (bsel))
  1304. seek(door%RESP%.Bat)
  1305. ifnottrue(goto (bsel))
  1306. Display(Display\door%RESP%)
  1307. Log(--,Executing Door #%RESP%)
  1308. FixFile (door.bt,door.bat)
  1309. Say(&14&&CR&Please wait, Opening Door #%resp% . . .*)
  1310. Exit (80,door|)
  1311.  
  1312. *bsel
  1313. loadsub(control\macros\badsel.ctl)
  1314. goto (disp)
  1315.  
  1316. *GOODBYE
  1317. EnufSec(10)
  1318. IfNotTrue(Goto(BSel))
  1319. LoadSub(CONTROL\MACROS\BYE.CTL)
  1320. Goto(Disp)
  1321.  
  1322. *MAIN
  1323. LoadMem(CONTROL\MAIN.MNU)
  1324.  
  1325. *HELP
  1326. EnufSec(10)
  1327. IfNotTrue(Goto(BSel))
  1328. Display(display\help\door,/:SEC/)
  1329. Log (--,Viewed Doors Menu Help)
  1330. Goto (Disp)
  1331.  
  1332. *EXP
  1333. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  1334. Goto(Disp)
  1335. UEDIT4CTL£*StUedit4
  1336.  
  1337.  BigIf (O:ChgTOn,R:ChgComp,A:ChgDrops,W:ChgWrk,I:ChgSub,X:ChgSDate,V:ChgAvail)
  1338. *ChgTOn
  1339.  AnsiGoto (21,17)
  1340.  ;Goes to the location 21,17 on the screen. (21 characters over, 17 down)
  1341.  ask (&15&Enter New Times On: &2&*)
  1342.  Number (%RESP%)
  1343.  IfNotTrue (goto (BadTOn))
  1344.  SetEqual (>TIMESON=%RESP%)
  1345.  Goto (DoIt)
  1346.  
  1347. *BadTOn
  1348.  AnsiGoto (21,17)
  1349.  Say (&4&Bad Times On Value, Not a Number.*)
  1350.  SecPause (2)
  1351.  AnsiGoto (21,17)
  1352.  Say (                                 )
  1353.  Goto (ChgTOn)
  1354.  
  1355. *ChgComp
  1356.  AnsiGoto (21,17)
  1357.  ask (&15&Enter New Computer Using: &2&*)
  1358.  SetEqual (>COMP=%RESP%)
  1359.  Goto (DoIt)
  1360.  
  1361. *ChgDrops
  1362.  AnsiGoto (21,17)
  1363.  Say (&15&Enter New Carrier Dropped Times:                        &2&*)
  1364.  AnsiGoto (54,17)
  1365.  Ask (*)
  1366.  Number (%RESP%)
  1367.  IfNotTrue (goto (BadDrops))
  1368.  SetEqual (>DROPPED=%RESP%)
  1369.  Goto (DoIt)
  1370.  
  1371. *BadDrops
  1372.  AnsiGoto (21,17)
  1373.  Say (&4&Bad Carrier Dropped Amount, Not a Number.*)
  1374.  SecPause (2)
  1375.  AnsiGoto (21,17)
  1376.  Say (                                         )
  1377.  Goto (ChgDrops)
  1378.  
  1379. *ChgWrk
  1380.  AnsiGoto (21,16)
  1381.  Say (&12&Enter New Work Phone Number: &2&)
  1382.  AnsiGoto (27,17)
  1383.  Picture (###-###-####)
  1384.  SetEqual (>WORK=%RESP%)
  1385.  Goto (DoIt)
  1386.  
  1387. *ChgSub
  1388.  AnsiGoto (25,17)
  1389.  yesnoask (&12&Subscriber? &2&*)
  1390.  SetEqual (>SUB=%RESP%)
  1391.  Goto (DoIt)
  1392.  
  1393. *ChgSDate
  1394.  AnsiGoto (21,16)
  1395.  Say (&12&Enter New Subscription Expiration Date: &2&*)
  1396.  AnsiGoto (25,17)
  1397.  Picture (##-##-##)
  1398.  SetEqual (>SUBDATE=%RESP%)
  1399.  Goto (DoIt)
  1400.  
  1401. *ChgAvail
  1402.  AnsiGoto (21,17)
  1403.  YesNoAsk (&12&Default User Available For Chat: &2&*)
  1404.  SetEqual (>DEFAVAIL=%RESP%)
  1405.  Goto (DoIt)
  1406.  
  1407. *DoIt
  1408.  SetEqual (e=1)
  1409.  SetEqual (w=1)
  1410.  SaveUser (%var%z)
  1411.  Loadmem (control\uedit2.ctl,goto(clearinfo))
  1412. DOORBACKCTLinpline(pbdoor.%Node%,6)
  1413.   DoorBack(%ARESP%,Back from Door program)  ;get their name from PBDOOR.node
  1414.  
  1415. selarea(/:lastmsg/)
  1416. ListFile (areas\farea/:LASTMSG/)
  1417. selfarea(/:lastdown/)
  1418. Kill (pbdoor.%NODE%)
  1419. Display (display\back)
  1420. LoadMem (control\doors.MNU)
  1421. HSLINKCTLflushout
  1422. exec(zc\adir hstemp%NODE%\*.* >hslst.%NODE%)
  1423. inpclose
  1424. inpopen(hslst.%NODE%)
  1425.  
  1426.   setequal(t=0)
  1427.   linefeed(1)
  1428.   setequal(a=/:UPLOADS/)
  1429.   clearmem
  1430.   setequal(c=0)
  1431.  
  1432. *stcalc
  1433.   inpread
  1434.   setequal(d=%ARESP%)
  1435.   iseek(%var%d)
  1436.   iftrue(goto (nfile))
  1437.   if (&D)=() then goto (Nfile)
  1438.   fcopy(hstemp%NODE%\%var%d,files\uploads\%var%d)
  1439.   size(files\uploads\%var%d)
  1440.   addvar(%var%t+%ARESP%=t)
  1441.   cnvtk(%ARESP%)
  1442.   addvar(%ARESP%+/:KUP/=o)
  1443.   setequal(/KUP=%var%o)
  1444.   multvar(%var%c*3=y)
  1445.   say(&7&&CR&%var%d&CR&)
  1446.   say(&14&Please enter a description for your file.  &10&The description can take up 3 lines.&CR&&CR&&15&   (----2----3----4----5----6----7---8----))
  1447.   resetwrap
  1448.   clearmem
  1449.   wrapask %MIN1%%LEN40%(&3&1&12&: &15&*)
  1450.   setequal(^1=%RESP%)
  1451.   wrapask %LEN40%%CRON%(&3&2&12&: &15&*)
  1452.   if (%RESP%)=(<CR>) then goto (nomore)
  1453.   setequal(^2=%RESP%)
  1454.   ask %LEN39%(&3&3&12&: &15&*)
  1455.   setequal(^3=%RESP%)
  1456.   *nomore
  1457.   file(files\uploads\,%var%d,3)
  1458.   log(--,%var%d Uploaded (HSLINK).)
  1459.   appendto(logs\UPLOAD.%NODE%,%var%d uploaded at %TIME% on %DATE% by %NAME%.)
  1460.   inc(c)
  1461.   *nfile
  1462.   kill(hstemp%NODE%\%var%d)
  1463.   fendif(donecalc)
  1464.   goto (stcalc)
  1465.  
  1466. *donecalc
  1467.   inpclose
  1468.   inc(c)
  1469.   say(%BEEP%)
  1470.   multvar(%XMIN%*60=o)
  1471.   divvar(%var%t/%var%o=g)
  1472.   setequal(/UPLOADS=%var%a)
  1473. return
  1474. SYSOPMNUÇ*disp
  1475. SetActivity (Sysop Menu)
  1476. if (/EXPERT)=(Y) then goto (prompt)
  1477. *sdisp
  1478. Display (display\SYSOP,/:SEC/)
  1479.  
  1480. *prompt
  1481. say(&CR&&14&│$7$&0&%CACT%$0$&14&│&7& You have &15&%LEFT% &7&minutes remaining, &15&%FNAME%.&3&)
  1482. menuask %MIN1%(Please enter a selection from the &11&menu&12&: &15&*)
  1483. BigIf (G:GOODBYE,H:HELP,?:SDISP,X:EXP,V:VIEWLOG,S:SHELL,K:KILL,D:DOWN,O:VNO,Q:QT,F:FIL,M:MS,E:ED)
  1484. goto (badsel)
  1485.  
  1486. *badsel
  1487. loadsub(control\macros\badsel.ctl)
  1488. goto (disp)
  1489.  
  1490.  
  1491. *GOODBYE
  1492. LoadSub(CONTROL\MACROS\BYE.CTL)
  1493. Goto(Disp)
  1494.  
  1495. *HELP
  1496. Display(display\help\SYSOP,/:SEC/)
  1497. Log (--,Viewed Sysop Menu Help)
  1498. Goto (Disp)
  1499.  
  1500. *EXP
  1501. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  1502. Goto(Disp)
  1503.  
  1504. *VIEWLOG
  1505. LoadSub(CONTROL\MACROS\VIEWLOGS.CTL)
  1506. Goto(Disp)
  1507.  
  1508. *SHELL
  1509. EnufSec(100)
  1510. IfNotTrue(Goto(BSel))
  1511. LoadSub(CONTROL\MACROS\SHELL.CTL)
  1512. Goto(Disp)
  1513.  
  1514. *KILL
  1515. LoadSub(CONTROL\MACROS\KILLNODE.CTL)
  1516. Goto(Disp)
  1517.  
  1518. *DOWN
  1519. LoadSub(CONTROL\MACROS\NODEDOWN.CTL)
  1520. Goto(Disp)
  1521.  
  1522. *VNO
  1523. LoadSub(CONTROL\MACROS\VIEWNODE.CTL)
  1524. Goto(Disp)
  1525.  
  1526. *QT
  1527. LoadMem(CONTROL\MAIN.MNU)
  1528.  
  1529. *FIL
  1530. LoadMem(CONTROL\FILES.MNU)
  1531.  
  1532. *MS
  1533. LoadMem(CONTROL\MESS.MNU)
  1534.  
  1535. *ED
  1536. LoadSub(CONTROL\UEDIT.CTL)
  1537. Goto(Disp)
  1538. MSCANCTL_Say(&CR&%hWhite%Please wait while we scan the message area for new mail addressed to you...%Yellow%&CR&)
  1539. Clearmem
  1540. EraseVar
  1541. Say(Scanning...%White%)
  1542.  
  1543. Zap(lconf.%NODE%,/:lastmsg/)
  1544. ClearMem
  1545.  
  1546. SetEqual(h=0)
  1547.  
  1548. *stscan
  1549. inc(h)
  1550. SelArea(%var%h)
  1551.  
  1552. EnufSec(%AREASEC%)
  1553. ifnottrue(Goto (chkeof))
  1554.  
  1555. eLine(60)
  1556. Say(Checking area %var%h: %AREANAME%|)
  1557. Scan(%var%h,%NAME%,%NDNUMB%)
  1558. IfTrue (goto (yesmail))
  1559.  
  1560. *chkeof
  1561. If (&h)=(%MAXAREA%) Then goto (firstmn)
  1562. Goto (stscan)
  1563.  
  1564. *FIRSTMN
  1565. InpLine(lconf.%NODE%,1)
  1566. SetEqual (/lastmsg=%ARESP%)
  1567. SelArea(/:LASTMSG/)
  1568.  
  1569. Say(%Yellow%&CR&&CR&Message scan complete!)
  1570. SetEqual (/WAIT=N)
  1571. Kill(lconf.%NODE%)
  1572.  
  1573. LoadMem(control\bullets.ctl)
  1574.  
  1575. *yesmail
  1576. SetEqual (/lastmsg=%var%h)
  1577. Say(&CR&&15&Mail has been found for you in the&9& %AREANAME% %hWhite%conference!%hWhite%)
  1578. SetEqual(u=2)
  1579. notif (^2)=() then goto (ym1)
  1580. say(&10&Message number &11&^:1^)
  1581. goto (bymail)
  1582. *ym1
  1583. say(&10&Message numbers:&11&&CR&^:1^*)
  1584. *ymail
  1585. if (^%var%u)=() then Goto (bym2)
  1586. Say(, ^:u^*)
  1587. inc(u)
  1588. Goto (ymail)
  1589. *bym2
  1590. linefeed(1)
  1591. *bymail
  1592. Zap(hi.%NODE%,%var%h)
  1593. Say(&CR&%Cyan%Would you like to read these messages? &9&[   ]%hWhite%*)
  1594. back(4)
  1595. YesNoAsk(*)
  1596. If (%RESP%)=(Yes) Then Goto (Rmail)
  1597. *back
  1598. InpLine(hi.%NODE%,1)
  1599. SetEqual(h=%ARESP%)
  1600. ClearScr
  1601. InitTxt
  1602. ClearMem
  1603. Say(%Yellow%&CR&Scanning...%White%)
  1604. ClearMem
  1605. SetActivity(Logging on...)
  1606. Goto (chkeof)
  1607. *Rmail
  1608. Say(&CR&%hCyan%Please wait while we retrieve your mail...*)
  1609. SetEqual(r=10)
  1610. SetEqual(y=^:1^)
  1611. himsg(/:LASTMSG/)
  1612. SetEqual(f=%ARESP%)
  1613. lowmsg(/:lastmsg/)
  1614. SetEqual(n=%ARESP%)
  1615. SetEqual(u=1)
  1616. Loadsub(control\READ.CTL,Goto (repeat))
  1617. goto (back)
  1618. AUTOOFFCTL╧
  1619. Seek(tagged.%NODE%)
  1620. IfTrue(say(&10&%beep%%beep%You have files tagged for download!))
  1621. say(&CR&&11&You have requested an auto-logoff.  This call will be terminated in 30 seconds.)
  1622. say(&14&Hit (CTRL-K) to abort or (H) to hang up now.*)
  1623.  
  1624. SetEqual(n=0)
  1625.  
  1626. *begin
  1627. do
  1628. jump(rkeytst)
  1629. secpause(1)
  1630. localkey(1)
  1631. ifnottrue(goto (psa))
  1632. If (%ARESP%)=(H) Then Goto (off)
  1633. if (%ARESP%)=(h) then goto (off)
  1634. If (%ARESP%)=( ) Then Goto (ex)
  1635. *psa
  1636. jump(rkeytst)
  1637. inc(n)
  1638. say(.*)
  1639. If (&n)=(30) Then Goto (off)
  1640. loop
  1641.  
  1642. *off
  1643. log(<<,Downloaded file, Auto-logoff)
  1644. Display(Display\goodbye)
  1645. quitbbs
  1646.         
  1647. *ex
  1648. selfarea(/:lastdown/)
  1649. say()
  1650. return
  1651.  
  1652. *rkeytst
  1653. ifkey(H)
  1654. iftrue(goto (off))
  1655. ifkey( )
  1656. iftrue(goto (ex))
  1657. ret
  1658. SELFILEACTL$*lista
  1659. NotIf (/SEC)=(100) then display(%FAREA%)
  1660. If (/SEC)=(100) then goto (sysv)
  1661.  
  1662. *start
  1663. menuask%cron%(&CR&&3&Please enter the area number to search &11&(ENTER=All,?=Redisplay)&12&: &15&*)
  1664. if (%resp%)=(<CR>) then return
  1665. if (%resp%)=(?) then goto (lista)
  1666. number(%resp%)
  1667. ifnottrue (return)
  1668. cmpvalo(%maxfarea%,%resp%)
  1669. iftrue(return)
  1670. selfarea(%resp%)
  1671. cmpval(%sec%,%filsec%)
  1672. iftrue(return)
  1673. setequal(g=%resp%)
  1674. setequal(f=%resp%)
  1675. return
  1676.  
  1677.  
  1678. *sysv
  1679. seek(%FAREA%.100)
  1680. iftrue(view(%FAREA%.100))
  1681. ifnottrue(display(%FAREA%))
  1682. goto (start)
  1683. BULLETSCTLiIf (%NEWSEC%)=(/SEC) Then Welcome(display\NEWUSER)
  1684. Get(/:BIRTH/,1,6)
  1685. SetEqual(a=%ARESP%)
  1686. Get(%DATE%,1,6)
  1687. If (&a) = (%ARESP%) Then LoadSub(control\birth.ctl)
  1688.         
  1689.         *BLT2
  1690. Display (Display\%NDNUMB%)
  1691. Welcome(Display\WELCOME)
  1692. NotIf (/LAST)=(%DATE%) Then Welcome (Display\OneAday)
  1693. seek(areas\news/:lastmsg/.asc)
  1694. iftrue(loadsub(control\macros\cnfnews.ctl))
  1695. If (/EXPERT)=(Y) Then Display (Display\EXPERT)
  1696. Seek(logon.bat)
  1697. IfTrue (Exec(logon.bat))
  1698. if (%Event%)=(TRUE) then display(display\event)
  1699. LoadSub(Control\Macros\Newbull.ctl)
  1700. IfNotTrue( LoadMem(control\Main.mnu))
  1701. LoadMem(Control\ViewB.ctl)
  1702. NOCTLulog(<<,Excessive logon attempts!)
  1703. say(&12&&CR&Excessive unsuccessful logon attempts!)
  1704. secpause(1)
  1705. say()
  1706. quitbbs
  1707. UEDIT2CTL╚*StUEdit2
  1708.  
  1709. *Selection
  1710.  Numbusers
  1711.  SetEqual (j=%ARESP%)
  1712.  If (&f)=(1) then goto (Edit)
  1713.  If (&f)=(5) then loadmem(control\uedit3.ctl,goto(stUedit3))
  1714.  If (&f)=(6) then goto (quit)
  1715.  LoadMem(control\uedit.ctl,goto(badsel))
  1716.  
  1717. *ClearInfo
  1718.  AnsiGoto (11,1)
  1719.  Say (                             *)
  1720.  AnsiGoto (11,2)
  1721.  Say (                             *)
  1722.  AnsiGoto (11,3)
  1723.  Say (                        )
  1724.  AnsiGoto (11,4)
  1725.  Say (               *)
  1726.  AnsiGoto (11,5)
  1727.  Say (    *)
  1728.  AnsiGoto (11,6)
  1729.  Say (                    *)
  1730.  AnsiGoto (11,7)
  1731.  Say (     *)
  1732.  AnsiGoto (11,8)
  1733.  Say (                              *)
  1734.  AnsiGoto (11,9)
  1735.  Say (     *)
  1736.  AnsiGoto (11,10)
  1737.  Say (     *)
  1738.  AnsiGoto (11,11)
  1739.  Say (     *)
  1740.  AnsiGoto (11,12)
  1741.  Say (     *)
  1742.  AnsiGoto (51,1)
  1743.  Say (        *)
  1744.  AnsiGoto (51,2)
  1745.  Say (     *)
  1746.  AnsiGoto (51,3)
  1747.  Say (                    *)
  1748.  AnsiGoto (51,4)
  1749.  Say (     *)
  1750.  AnsiGoto (51,5)
  1751.  Say (               *)
  1752.  AnsiGoto (51,6)
  1753.  Say (  *)
  1754.  AnsiGoto (51,7)
  1755.  Say (        *)
  1756.  AnsiGoto (51,9)
  1757.  Say (  *)
  1758.  LoadUser (%var%z)
  1759.  SetEqual (x=0)
  1760.  LoadMem (Control\uedit.ctl,goto(putinfo))
  1761.  
  1762. *Edit
  1763.  If (&w)=(1) then goto (GetInput)
  1764.  AnsiGoto (2,15)
  1765.  Say (      *)
  1766.  AnsiGoto (30,15)
  1767.  Say (              *)
  1768.  AnsiGoto (2,16)
  1769.  Say (              *)
  1770.  AnsiGoto (30,16)
  1771.  Say (         *)
  1772.  AnsiGoto (2,17)
  1773.  Say (            *)
  1774.  AnsiGoto (30,17)
  1775.  Say (             *)
  1776.  AnsiGoto (2,18)
  1777.  Say (                *)
  1778.  AnsiGoto (30,18)
  1779.  Say (         *)
  1780.  AnsiGoto (30,19)
  1781.  Say (               *)
  1782.  AnsiGoto (30,20)
  1783.  Say (                  *)
  1784.  AnsiGoto (1,1)
  1785.  Say (&15&N&7&ame)
  1786.  Say (&15&S&7&treet)
  1787.  Say (&15&F&7&rom)
  1788.  Say (&7&P&15&h&7&one)
  1789.  Say (&7&Se&15&c)
  1790.  Say (&15&P&7&asswd)
  1791.  Say (&15&T&7&imeLeft)
  1792.  Say (&15&M&7&emo)
  1793.  Say (&15&D&7&ownlds)
  1794.  Say (&15&U&7&ploads)
  1795.  Say (&15&K&7&Dled)
  1796.  Say (&7&KU&15&l&7&ed*)
  1797.  AnsiGoto (40,1)
  1798.  Say (&15&B&7&irthdate*)
  1799.  AnsiGoto (41,2)
  1800.  Say (&7&Times &15&O&7&n*)
  1801.  AnsiGoto (35,3)
  1802.  Say (&7&Compute&15&r&7& Using*)
  1803.  AnsiGoto (36,4)
  1804.  Say (&7&C&15&a&7&rrier Drops*)
  1805.  AnsiGoto (39,5)
  1806.  Say (&15&W&7&ork Phone*)
  1807.  AnsiGoto (39,6)
  1808.  Say (&7&Subscr&15&i&7&ber*)
  1809.  AnsiGoto (37,7)
  1810.  Say (&7&Sub Date E&15&x&7&p*)
  1811.  AnsiGoto (35,9)
  1812.  Say (&7&A&15&v&7&ail For Chat*)
  1813. *GetInput
  1814.  AnsiGoto (20,17)
  1815.  Say ($0$&12&Select Category to Modify (Q to Quit): &15&*)
  1816.  Menukey
  1817.  BigNiceSay (N:Name,S:Street,F:From,H:Phone,C:Sec,P:Passwd,T:TimeLeft)
  1818.  BigNiceSay (M:Memo,D:Downlds,U:Uploads,K:KDled,L:KUled,B:Birthdate,O:Times On)
  1819.  BigNiceSay (R:Comp Using,A:Carrier Drops,W:Work Phone,I:Subscriber,X:SubDate Exp,Q:Quit)
  1820.  AnsiGoto (20,17)
  1821.  Say (                                                  *)
  1822.  BigIf (N:ChgName,S:ChgSt,F:ChgFrom,H:ChgPhone,C:ChgSec,P:ChgPass,T:ChgTL,M:ChgMemo,D:ChgDls,U:ChgUls,K:ChgDlk,L:ChgUlk,B:ChgBday)
  1823.  BigIf (Q:NoMore)
  1824.  BigLoad (O:control\uedit4.ctl,R:control\uedit4.ctl,A:control\uedit4.ctl,W:control\uedit4.ctl,I:control\uedit4.ctl,X:control\uedit4.ctl,Q:control\uedit4.ctl,v:control\uedit4.ctl)
  1825.  LoadMem (Control\uedit.ctl,goto(badsel))
  1826.  
  1827. *NoMore
  1828.  SaveUser (%var%z)
  1829.  SetEqual (e=0)
  1830.  SetEqual (w=0)
  1831.  Loadmem (control\uedit.ctl,goto(moreedit))
  1832.  
  1833. *ChgName
  1834.  AnsiGoto (24,17)
  1835.  Say (&15&Enter New Name :                   &2&*)
  1836.  AnsiGoto (41,17)
  1837.  Ask (*)
  1838.  SetEqual (>NAME=%RESP%)
  1839.  SetEqual (e=1)
  1840.  SetEqual (w=1)
  1841.  SaveUser (%var%z)
  1842.  Goto (ClearInfo)
  1843.  
  1844. *ChgSt
  1845.  AnsiGoto (20,17)
  1846.  Say (&15&Enter New Street:                  &2&*)
  1847.  AnsiGoto (38,17)
  1848.  Ask (*)
  1849.  SetEqual (>STREET=%RESP%)
  1850.  SetEqual (e=1)
  1851.  SetEqual (w=1)
  1852.  SaveUser (%var%z)
  1853.  Goto (ClearInfo)
  1854.  
  1855. *ChgFrom
  1856.  AnsiGoto (19,17)
  1857.  Say (&15&Enter New User From :              &2&*)
  1858.  AnsiGoto (41,17)
  1859.  Ask (*)
  1860.  SetEqual (>FROM=%RESP%)
  1861.  SetEqual (e=1)
  1862.  SetEqual (w=1)
  1863.  SaveUser (%var%z)
  1864.  Goto (ClearInfo)
  1865.  
  1866. *ChgPhone
  1867.  AnsiGoto (25,16)
  1868.  Say (&15&Enter New Phone Number :           &2&)
  1869.  AnsiGoto (29,17);
  1870.  Picture(###-###-####)
  1871.  setequal(>PHONE=%RESP%)
  1872.  SetEqual (e=1) 
  1873.  SetEqual (w=1)
  1874.  SaveUser (%var%z)
  1875.  Goto (ClearInfo)
  1876.  
  1877. *ChgSec
  1878.  AnsiGoto (24,17)
  1879.  Ask (&15&Enter New Security: &2&*)
  1880.  Number (%RESP%)
  1881.  IfNotTrue(goto (badsec))
  1882.  SetEqual (>SEC=%RESP%)
  1883.  SetEqual (e=1)
  1884.  SetEqual (w=1)
  1885.  SaveUser (%var%z)
  1886.  Goto (ClearInfo)
  1887.  
  1888. *badsec
  1889.  AnsiGoto (20,17)
  1890.  Say (                                                  *)
  1891.  AnsiGoto (25,17)
  1892.  Say (&4&Bad Security-- Not a Number.*)
  1893.  SecPause (2)
  1894.  AnsiGoto (20,17)
  1895.  Say (                                                  *)
  1896.  Goto (ChgSec)
  1897.  
  1898. *ChgComp
  1899.  AnsiGoto (20,17)
  1900.  Ask (&15&Enter New Computer Using: &2&*)
  1901.  SetEqual (>COMP=%RESP%)
  1902.  SetEqual (e=1)
  1903.  SetEqual (w=1)
  1904.  SaveUser (%var%z)
  1905.  Goto (ClearInfo)
  1906.  
  1907. *ChgTL
  1908.  AnsiGoto (24,17)
  1909.  Ask (&15&Enter New Time Left: &2&*)
  1910.  Number (%RESP%)
  1911.  IfNotTrue (goto (badtl))
  1912.  SetEqual (>LEFT=%RESP%)
  1913.  SetEqual (e=1)
  1914.  SetEqual (w=1)
  1915.  SaveUser (%var%z)
  1916.  Goto (ClearInfo)
  1917.  
  1918. *badtl
  1919.  AnsiGoto (20,17)
  1920.  Say (                                                  *)
  1921.  AnsiGoto (20,17)
  1922.  Say (&4&Bad Time Left Value-- Not a Number.*)
  1923.  SecPause (2)
  1924.  AnsiGoto (20,17)
  1925.  Say (                                                  *)
  1926.  Goto (ChgTL)
  1927.  
  1928. *ChgPass
  1929.  AnsiGoto (24,17)
  1930.  Ask (&15&Enter New Password: &2&*)
  1931.  SetEqual (>PASS=%RESP%)
  1932.  SetEqual (e=1)
  1933.  SetEqual (w=1)
  1934.  SaveUser (%var%z)
  1935.  Goto (ClearInfo)
  1936.  
  1937. *ChgMemo
  1938.  AnsiGoto (20,17)
  1939.  Ask (&15&Enter New Memo: &2&*)
  1940.  SetEqual (>MEMO=%RESP%)
  1941.  SetEqual (e=1)
  1942.  SetEqual (w=1)
  1943.  SaveUser (%var%z)
  1944.  Goto (ClearInfo)
  1945.  
  1946. *ChgDls
  1947.  AnsiGoto (20,17)
  1948.  Ask (&15&Enter New Number of Downloads: &2&*)
  1949.  Number (%RESP%)
  1950.  IfNotTrue (goto (baddls))
  1951.  SetEqual (>DOWNLOADS=%RESP%)
  1952.  SetEqual (e=1)
  1953.  SetEqual (w=1)
  1954.  SaveUser (%var%z)
  1955.  Goto (ClearInfo)
  1956.  
  1957. *baddls
  1958.  AnsiGoto (20,17)
  1959.  Say (                                                  *)
  1960.  AnsiGoto (20,17)
  1961.  Say (&4&Bad Number of Downloads-- Not a Number.*)
  1962.  SecPause (2)
  1963.  AnsiGoto (20,17)
  1964.  Say (                                                  *)
  1965.  Goto (ChgDls)
  1966.  
  1967. *ChgUls
  1968.  AnsiGoto (20,17)
  1969.  Ask (&15&Enter New Number of Uploads: &2&*)
  1970.  Number (%RESP%)
  1971.  IfNotTrue (goto (baduls))
  1972.  SetEqual (>UPLOADS=%RESP%)
  1973.  SetEqual (e=1)
  1974.  SetEqual (w=1)
  1975.  SaveUser (%var%z)
  1976.  Goto (ClearInfo)
  1977.  
  1978. *baduls
  1979.  AnsiGoto (20,17)
  1980.  Say (                                                  *)
  1981.  AnsiGoto (20,17)
  1982.  Say (&4&Bad Number of Uploads-- Not a Number.*)
  1983.  SecPause (2)
  1984.  AnsiGoto (20,17)
  1985.  Say (                                                  *)
  1986.  Goto (ChgUls)
  1987.  
  1988. *ChgDlK
  1989.  AnsiGoto (21,17)
  1990.  Ask (&15&Enter New Download K: &2&*)
  1991.  Number (%RESP%)
  1992.  IfNotTrue (goto (baddlk))
  1993.  SetEqual (>KDOWN=%RESP%)
  1994.  SetEqual (e=1)
  1995.  SetEqual (w=1)
  1996.  SaveUser (%var%z)
  1997.  Goto (ClearInfo)
  1998.  
  1999. *baddlk
  2000.  AnsiGoto (20,17)
  2001.  Say (                                                  *)
  2002.  AnsiGoto (20,17)
  2003.  Say (&4&Bad Download K Value-- Not a Number.*)
  2004.  SecPause (2)
  2005.  AnsiGoto (20,17)
  2006.  Say (                                                  *)
  2007.  Goto (ChgDlk)
  2008.  
  2009. *ChgUlK
  2010.  AnsiGoto (21,17)
  2011.  Ask (&15&Enter New Upload K: &2&*)
  2012.  Number (%RESP%)
  2013.  IfNotTrue (goto (badulk))
  2014.  SetEqual (>KUP=%RESP%)
  2015.  SetEqual (e=1)
  2016.  SetEqual (w=1)
  2017.  SaveUser (%var%z)
  2018.  Goto (ClearInfo)
  2019.  
  2020. *ChgBday
  2021.  AnsiGoto (21,16)
  2022.  Say (&15&Enter New Birthday: &2&*)
  2023.  AnsiGoto (25,17)
  2024.  Picture (##-##-##)
  2025.  SetEqual (>BIRTH=%RESP%)
  2026.  SetEqual (e=1)
  2027.  SetEqual (w=1)
  2028.  SaveUser (%var%z)
  2029.  Goto (ClearInfo)
  2030.  
  2031. *badulk
  2032.  AnsiGoto (20,17)
  2033.  Say (                                                  *)
  2034.  AnsiGoto (20,17)
  2035.  Say (&4&Bad Upload K Value-- Not a Number.*)
  2036.  SecPause (2)
  2037.  AnsiGoto (20,17)
  2038.  Say (                                                  *)
  2039.  Goto (ChgUlk)
  2040. BIRTHCTL(Display (display\b-day)
  2041. Enter
  2042. Return
  2043. NEWUSERCTL say(&CR&&10&You will have 2 lines for your full address.  The first line for your street&CR&and the second line for your City and State.)
  2044. setactivity(New-user Logon...)
  2045. log(==,New User (%var%D) Registering...)
  2046. setequal(>NAME=%var%D)
  2047. setequal(>LAST=%DATE%)
  2048. setequal(>LASTCHK=%DATE%)
  2049. setequal(t=0)
  2050.  
  2051.         *street
  2052. ask %MIN1%(&CR&&3&Please enter your &11&street&3& address&12&: &15&*)
  2053. setequal(>STREET=%RESP%)
  2054.  
  2055.         *city
  2056. ask %MIN1%%LEN40%(&CR&&3&Please enter the &11&City, State&3& that you're calling from&12&: &15&*)
  2057. setequal(/FROM=%RESP%)
  2058. setequal(>FROM=%RESP%)
  2059. if (/from)=(>street) then goto (fake)
  2060.  
  2061. display(display\password)
  2062. update
  2063.  
  2064.         *PASS
  2065. say (&3&Enter the password you would like&12&: &15&*)
  2066. cgetpass%MIN2%(.)
  2067. menuequal(a=%name%)
  2068. if (%resp%)=(&a) then goto (bp)
  2069. menuequal(a=%fname%)
  2070. if (&a)=(%resp%) then goto (bp)
  2071. menuequal(a=%lname%)
  2072. if (&a)=(%resp%) then goto (bp)
  2073. setequal(>PASS=%RESP%)
  2074. setequal(k=%RESP%)
  2075. say(&CR&&3&Please enter the password again for verification&12&: &15&*)
  2076. cgetpass%MIN2%(.)
  2077. notif (%RESP%) = (&k) then goto (badpass)
  2078.  
  2079. say(&CR&&3&Please enter your &11&home &3&phone number in the format shown.&15&)
  2080. picture(###-###-####)
  2081. repeating(%resp%)
  2082. iftrue(goto (fake))
  2083. setequal(>PHONE=%RESP%)
  2084. setequal(/PHONE=%Resp%)
  2085. ask (&CR&&3&If you have a &11&work &3&phone number, please enter it now&12&: &15&*)
  2086. setequal(>WORK=%RESP%)
  2087. say(&CR&&3&Please enter your &11&birthdate &3&in the format (MM/DD/YY) shown.&15&)
  2088. update
  2089. picture(##-##-##)
  2090. repeating(%resp%)
  2091. iftrue(goto (fake))
  2092. dateok(%resp%)
  2093. ifnottrue(goto (fake))
  2094. setequal(>BIRTH=%RESP%)
  2095.  
  2096. display (display\defprots)
  2097. setequal(/birth=%resp%)
  2098. menuask(&3&Which protocol would you like &11&(or N for None)?%hRed%: &15&*)
  2099. setequal(/protocol=%RESP%)
  2100.  
  2101. display(display\comps)
  2102. ask %MIN1%(&3&What type of computer do you have?&12&: &15&*)
  2103. setequal(>COMP=%RESP%)
  2104. setequal(>WAIT=N)
  2105. display(display\length)
  2106. menuask %MIN1%(&CR&&3&Please enter the length of your screen &11&(24 Recommended)&12&: &15&*)
  2107. setequal(>FIRST=%DATE%)
  2108. setequal(>SCREENLEN=%RESP%)
  2109. setequal(>LEFT=%NEWTIME%)
  2110. setequal(>SEC=%NEWSEC%)
  2111. seekfile(phones.dat,/:phone/)
  2112. iftrue(loadmem (control\dphone.ctl))
  2113. say(&CR&&11&Please wait while your records are created...*)
  2114. findsp
  2115. setequal(a=%aresp%)
  2116. saveuser(%var%a)
  2117. appendto(userfile.ndx,%var%D│\:PASS\│\:FROM\│%var%a│0)
  2118. say( |)
  2119. eline(55)
  2120. appendto(phones.dat,\:phone\)
  2121. seekuser(%var%D)
  2122. loadmem(control\open.ctl,goto (connect))
  2123.  
  2124.         *BADPASS
  2125. say(&CR&&12&The passwords did not match.  Please try again...&CR&)
  2126. goto (pass)
  2127.  
  2128. *fake
  2129. appendto(badnames.bbs,%name%)
  2130. log(--,User attempted log on with false info)
  2131. quitbbs
  2132.  
  2133. *inv
  2134. inc(t)
  2135. if (&t)=(2) then goto (fake)
  2136. goto(city)
  2137.  
  2138. *bp
  2139. say (&CR&&12&Please enter a more unique, hard to guess password.&CR&)
  2140. goto (pass)
  2141. UEDIT3CTL*StUEdit3
  2142.  
  2143. *ClearInfoBox
  2144.  AnsiGoto (2,15)
  2145.  Say (      *)
  2146.  AnsiGoto (30,15)
  2147.  Say (              *)
  2148.  AnsiGoto (2,16)
  2149.  Say (              *)
  2150.  AnsiGoto (30,16)
  2151.  Say (         *)
  2152.  AnsiGoto (2,17)
  2153.  Say (            *)
  2154.  AnsiGoto (30,17)
  2155.  Say (             *)
  2156.  AnsiGoto (2,18)
  2157.  Say (                *)
  2158.  AnsiGoto (30,18)
  2159.  Say (         *)
  2160.  AnsiGoto (30,19)
  2161.  Say (               *)
  2162.  AnsiGoto (30,20)
  2163.  Say (                  *)
  2164.  
  2165. AnsiGoto (20,17)
  2166. MenuAsk (&15&Enter Name to Search For: &2&*)
  2167. SetEqual (v=%RESP%)
  2168. AnsiGoto (20,17)
  2169. Say (&12&      Searching....                         *)
  2170. AnsiGoto (39,17)
  2171. SetEqual (y=%var%z)
  2172.  
  2173. *FindIt
  2174. SeekUser (%var%v)
  2175. ifnottrue(goto (notfound))
  2176. SetEqual (z=%NDNUMB%)
  2177. Loadmem(control\uedit.ctl,goto(clearinfo))
  2178.  
  2179. *NotFound
  2180.  AnsiGoto (20,17)
  2181.  Say (&12&%var%v could not be found in the userfile.*)
  2182.  SecPause (2)
  2183.  AnsiGoto (20,17)
  2184.  Say (&12&                                                   *)
  2185.  SetEqual (z=%var%y)
  2186.  SetEqual (m=0)
  2187.  Loadmem (control\uedit.ctl,goto(clearinfo))
  2188.  
  2189. *Found
  2190.  SetEqual (m=1)
  2191.  SetEqual (z=%var%z)
  2192.  Loadmem (control\uedit.ctl,goto(clearinfo))
  2193.  
  2194. *Another
  2195.  AnsiGoto (20,17)
  2196.  YesNoAsk(&15&Continue Search? *)
  2197.  If (%RESP%)=(Yes) then goto (FindIt)
  2198.  SetEqual (m=0)
  2199. Loadmem (control\uedit.ctl,goto(clearinfo))
  2200. DOWNATTCTLÉsetactivity(Downloading Files)
  2201.  
  2202.         *pickprot
  2203. display (display\dnPROTS1)
  2204. MenuAsk (&3&Which transfer protocol would you like to use?&12&: &15&*)
  2205. if (%RESP%)=(Q) then goto (aborted)
  2206. len(%RESP%)
  2207. notif (%ARESP%)=(1) then goto (Pprob)
  2208. seek(protocol\%RESP%-Ad.BT)
  2209. iftrue (goto (Pok))
  2210.  
  2211.         *pprob
  2212. loadsub(control\macros\badsel.ctl)
  2213. goto (pickprot)
  2214.  
  2215.         *Pok
  2216. setequal(r=%RESP%)
  2217. setequal(x=%MSGATTNAME%)
  2218. size(%ATTPAT%%var%x)
  2219. ttime(%ARESP%)
  2220. cmpval(%TTIM%,/:LEFT/)
  2221. if (%ARESP%)=(No) then goto (notenuftime)
  2222. say(&11&)
  2223. say(We're ready to send the file.  Please start receiving now.)
  2224. fixfile(protocol\%var%r-ad.bt,protocol\%var%r-ad.bat)
  2225. exec(protocol\%var%r-ad.BAT│)
  2226. kill(protocol\%var%r-ad.bat)
  2227.  
  2228.         *success
  2229. notif (%ARESP%)=(0) then goto (aborted)
  2230. log(--,Attach downloaded (%var%x))
  2231. inpline(varr.%NODE%,1)
  2232. setequal(r=%ARESP%)
  2233. display(display\attsucc1)
  2234. Return
  2235.  
  2236.         *notenuftime
  2237. display(display\NODLTIME)
  2238. inpline(varr.%NODE%,1)
  2239. setequal(r=%ARESP%)
  2240. Return
  2241.  
  2242.         *aborted
  2243. log(--,Attach download aborted (%var%x))
  2244. setequal(x=)
  2245. flushout
  2246. inpline(varr.%NODE%,1)
  2247. setequal(r=%ARESP%)
  2248. display(display\attabt1)
  2249. Return
  2250. READCTL`setequal(n=1)
  2251. setequal(x=1)
  2252. *read
  2253. setequal(r=0)
  2254. setequal(w=1)
  2255. setactivity(Reading Mail)
  2256. *rmail
  2257. notif (&n)=(1) then goto (endmr) ;if they came back...
  2258. setequal(n=0)
  2259. *brmail
  2260. linefeed(1)
  2261. himsg(/:LASTMSG/)
  2262. setequal(f=%ARESP%)
  2263. lowmsg(/:lastmsg/)
  2264. setequal(n=%ARESP%)
  2265. display (display\READ)
  2266. setequal(y=%ARESP%)
  2267. setequal(z=0)
  2268. numbmenuask%CRON%(&3&Which read mail number or option would you like?&12&: &15&*)
  2269. bignicesay(r:Reverse,q:quit,m:Since last read,s:Search,y:your mail,h:help)
  2270. bigif(r:rev,m:since,s:search,y:Your,h:help,<CR>:qt,q:qt)
  2271. number(%RESP%)
  2272. if (%RESP%)=(0) then goto (inv2)
  2273. iftrue (goto (nread))
  2274. goto (inv2)
  2275. *qt
  2276. return
  2277.  
  2278. *help
  2279. display(display\help\read,/:SEC/)
  2280. goto (brmail)
  2281.  
  2282. *nread
  2283. cmpval(%var%f,%RESP%)
  2284. iftrue (goto (inv2))
  2285. cmpval(%var%n,%RESP%)
  2286. ifnottrue(setequal(/resp=%var%n))
  2287. setequal(w=1)
  2288. setequal(y=%RESP%)
  2289. goto (repeat)
  2290.  
  2291. *since
  2292. msghigh(/:LASTMSG/)
  2293. setequal(y=%ARESP%)
  2294. cmpval(%var%f,%var%y)
  2295. iftrue (goto (inv2))
  2296. cmpval(%var%n,%VAR%Y)
  2297. ifnottrue(setequal(y=%var%n))
  2298. setequal(w=1)
  2299. setequal(s=0)
  2300. goto (repeat)
  2301.  
  2302. *repeat
  2303. inittxt
  2304. setequal(s=0)
  2305. getmail(%var%y,/:LASTMSG/,%var%w)
  2306. if (%MsgNumber%)=(0) then goto (0next)
  2307. setequal(z=10)
  2308. notif (%ARESP%)=(Yes) then goto (nope)
  2309. *banyway
  2310. clearscr
  2311. setequal(x=0)
  2312. setequal(s=0)
  2313. setequal(g=%RESP%)
  2314. nicedate(%MSGSNTD%)
  2315. say(&11&Message Number &3&%MsgNumber%&11& of &3&%var%f&11& was sent on&3& %ARESP%&11& at &3&*)
  2316. nicetime(%MSGSNTT%)
  2317. nicesay(%ARESP%&14&&CR&        Sent by: &3&%MSGFROM%&CR&&14&   Addressed to: &3&%MSGTO% )
  2318. say(&14&      Regarding: &3&%MSGDESC% )
  2319. nicesay(&14&         Status: &3&%MSGPVT%, %MSGRCVD%, Read %MSGRDTIMES% times, %REPLIES%)
  2320. spause(8)
  2321. if (%MSGATTACH%)=(Y) then if (%MSGPVT%)=(PRIVATE) then setequal(s=10)
  2322. if (%MSGATTACH%)=(Y) then say (&12&* &14&File Attached: &3&%MSGATTNAME%)
  2323. if (&s)=(10) then spause(9)
  2324. say(&8&────────────────────────────────────────────────────────────────────────&CR&&7&)
  2325. showtxt
  2326. *reading
  2327. if (&s)=(0) then display (display\READING)
  2328. if (&s)=(10) then display (display\READINGA)
  2329. numbmenuask %CRON%(&3&Which reading &11&option &3&or &11&message number&3&?&12&: &15&*)
  2330. bignicesay(e:edit,q:quit,r:reply,s:Show again,n:next,f:forward thread,p:previous message,k:kill,o:Forward,h:help)
  2331. if (&s)=(10) then bignicesay(d:Download Attach)
  2332. bigif (e:edit,o:forw,q:qdisp,s:repeat,r:reply,p:previous,f:follow,k:kill,n:next,h:help2)
  2333. bigif (d:downatt)
  2334. if (%RESP%)=(<CR>) then goto (next)
  2335. number(%RESP%)
  2336. iftrue (goto (nread))
  2337. setequal(s=5)
  2338. goto (inv2)
  2339.  
  2340. *help2
  2341. display(display\help\readn,/:SEC/)
  2342. goto (reading)
  2343.  
  2344. *downatt
  2345. zap(varr.%NODE%,%var%R)
  2346. linefeed(1)
  2347. loadsub(control\DOWNATT.CTL)
  2348. goto (repeat)
  2349.  
  2350. *forw
  2351. namequal(a=%MSGTO%)
  2352. namequal(b=%NAME%)
  2353. if (&a)=(&b) then goto (okf)
  2354. namequal(a=%MSGFROM%)
  2355. if (&a)=(&b) then goto (okf)
  2356. setequal(s=5)
  2357. goto (inv2)
  2358. *okf
  2359. loadsub(control\macros\forw.ctl)
  2360. goto (repeat)
  2361.  
  2362. *your
  2363. cmenuask(&CR&&3&Starting at which message number?&11&(%var%n-%var%f)&12&: &15&*)
  2364. say(&CR&&11&Searching...|)
  2365. clearmem
  2366. seekto(/:LASTMSG/,%NAME%,%RESP%)
  2367. if (%ARESP%)=(ERROR) then goto (endmr)
  2368. log(--,Scanned for (Y)our mail)
  2369. eline(25)
  2370. zap(seeking.%NODE%,1)
  2371. appendto(seeking.%NODE%,%NAME%)
  2372. if (%ARESP%)=(ERROR) then goto (endmr)
  2373. setequal(r=20)
  2374. setequal(u=0)
  2375. goto (snext)
  2376.  
  2377. *search
  2378. loadsub(control\macros\msearch.ctl)
  2379. if (%RESP%)=(Q) then goto (endmr)
  2380. notif (%ARESP%)=(ERROR) then goto (snext)
  2381. goto (endmr)
  2382.  
  2383. *rev
  2384. if (&y)=(0) then goto (inv2)
  2385. setequal(y=%var%f)
  2386. setequal(w=-1)
  2387. if (&y)=(0) then goto (inv2)
  2388. goto (repeat)
  2389.  
  2390. *snext
  2391. inc(u)
  2392. setequal(y=^:U^)
  2393. if (^:U^)=(MOREMAIL) then goto (fmore)
  2394. if (^:U^)=() then goto (endmr)
  2395. goto (repeat)
  2396.  
  2397. *fmore
  2398. addvar(&u+-1=u)
  2399. inpline(seeking.%NODE%,1)
  2400. setequal(p=%ARESP%)
  2401. inpline(seeking.%NODE%,2)
  2402. if (&p)=(1) then seekto(/:lastmsg/,%ARESP%,^:u^)
  2403. if (&p)=(2) then seekfrom(/:lastmsg/,%ARESP%,^:u^)
  2404. if (&p)=(3) then seekdesc(/:lastmsg/,%ARESP%,^:u^)
  2405. if (&p)=(4) then seektext(/:lastmsg/,%ARESP%,^:u^)
  2406. setequal(u=0)
  2407. goto (repeat)
  2408.  
  2409. *lnext
  2410. inc(u)
  2411. setequal(y=^:U^)
  2412. if (^:U^)=() then goto (endmr)
  2413. goto (repeat)
  2414.  
  2415. *qdisp
  2416. linefeed(1)
  2417. if (&r)=(10) then goto (endmr)
  2418. Return
  2419.  
  2420. *0next
  2421. if (&r)=(10) then goto (lnext)
  2422. if (&r)=(20) then goto (snext)
  2423. if (&y)=(0) then goto (inv2)
  2424. if (&y)=(-1) then goto (inv2)
  2425. addvar(%var%y+%var%w=y)
  2426. if (&y)=(0) then goto (inv2)
  2427. cmpval(%var%f,%var%y)
  2428. iftrue (goto (inv2))
  2429. goto (repeat)
  2430.  
  2431. *smore
  2432. notif (&x)=(1) then say(&10&Searching for more messages...|)
  2433. setequal(x=1)
  2434. setequal(s=10)
  2435.  
  2436. *next
  2437. if (&r)=(10) then goto (lnext)
  2438. if (&s)=(0) then goto (smore)
  2439. if (&r)=(20) then goto (snext)
  2440. if (&y)=(0) then goto (inv2)
  2441. if (&y)=(-1) then goto (inv2)
  2442. notif (%MRESP%)=() then goto (sknext)
  2443. addvar(%var%y+%var%w=y)
  2444. if (&y)=(0) then goto (inv2)
  2445. cmpval(%var%f,%var%y)
  2446. iftrue (goto (inv2))
  2447. goto (repeat)
  2448. *sknext
  2449. setequal(y=%MRESP%)
  2450. if (&y)=(0) then goto (inv2)
  2451. cmpval(%var%f,%var%y)
  2452. iftrue (goto (inv2))
  2453. goto (repeat)
  2454.  
  2455. *kill
  2456. enufsec(100)
  2457. iftrue(goto (stkill))
  2458. setequal(a=%NAME%)
  2459. upcase(a)
  2460. setequal(i=%MSGFROM%)
  2461. upcase(i)
  2462. setequal(j=%MSGTO%)
  2463. upcase(j)
  2464. notif (&i)=(&a) then notif (&j)=(&a) then goto (repeat)
  2465. *stkill
  2466. msgkill (/:LASTMSG/,%var%y)
  2467. say(&12&&CR&Message #%var%y has been deleted!&CR&)
  2468. goto (next)
  2469.  
  2470. *follow
  2471. if (%REPLIES%)=(NO REPLIES) then goto (nomore)
  2472. setequal(s=5)
  2473. setequal(q=%MSGPREV%)
  2474. if (%MSGPREV%)=(0) then setequal(q=%var%y)
  2475. nextforward(%var%q,%var%y,/:LASTMSG/)
  2476. if (%ARESP%)=(0) then goto (nomore)
  2477. setequal(y=%ARESP%)
  2478. goto (repeat)
  2479. *nomore
  2480. say(&CR&&12&There are no more replies to this message.&CR&)
  2481. goto (reading)
  2482.  
  2483. *previous
  2484. setequal(s=5)
  2485. if (%MSGPREV%)=(0) then goto (inv2)
  2486. setequal(y=%MSGPREV%)
  2487. goto (repeat)
  2488.  
  2489. *edit
  2490. loadsub(control\macros\edit.ctl)
  2491. goto (repeat)
  2492.  
  2493. *reply
  2494. loadsub(control\macros\reply.ctl)
  2495. goto (repeat)
  2496.  
  2497. *inv2
  2498. if (&s)=(10) then goto (abb)
  2499. say(&CR&&12&Invalid selection! Please try again...)
  2500. secpause(1)
  2501. flushout
  2502. if (&s)=(5) then goto (reading)
  2503. *abb
  2504. if (&z)=(0) then goto (brmail)
  2505. goto (endmr)
  2506.  
  2507. *nope
  2508. if (%ARESP%)=(ERROR) then goto (next)
  2509. if (%ARESP%)=(DELETED) then goto (next)
  2510. enufsec(100)
  2511. iftrue (goto (banyway))
  2512. goto (next)
  2513.  
  2514. *endmr
  2515. say(&11&&CR& ══ &14&No more mail found for you to read, %FNAME%&11& ══&CR&)
  2516. enter
  2517. Return
  2518. UEDITCTL└*StUEdit
  2519. *edit
  2520.  SetEqual (f=1)
  2521.  SetEqual (e=0)
  2522.  SetEqual (w=0)
  2523.  SetEqual (z=1)
  2524.  SetEqual (m=0)
  2525. *moreedit
  2526.  ClearScr
  2527.  LoadUser(%var%z)
  2528.  SetEqual (x=0)
  2529. *EvenMoreEdit 
  2530.  AnsiGoto (1,1)
  2531.  If (&w)=(1) then goto (putinfo)
  2532.  Say ($0$&15&Name    :                              Birthdate: )
  2533.  Say (Street  :                               Times On: )
  2534.  Say (From    :                         Computer Using: )
  2535.  Say (Phone   :                          Carrier Drops: )
  2536.  Say (Sec     :                             Work Phone: )
  2537.  Say (Passwd  :                             Subscriber: )
  2538.  Say (TimeLeft:                           Sub Date Exp: )
  2539.  Say (Memo    : )
  2540.  Say (Downlds :                         Avail For Chat: )
  2541.  Say (Uploads : )
  2542.  Say (KDled   : )
  2543.  Say (KUled   : )
  2544. *PutInfo
  2545.  AnsiGoto (11,1)
  2546.  Say (&14&\:NAME\*)
  2547.  AnsiGoto (11,2)
  2548.  Say (\:STREET\*)
  2549.  AnsiGoto (11,3)
  2550.  Say (\:FROM\*)
  2551.  AnsiGoto (11,4)
  2552.  Say (\:PHONE\*)
  2553.  AnsiGoto (11,5)
  2554.  Say (\:SEC\*)
  2555.  AnsiGoto (11,6)
  2556.  Say (\:PASS\*)
  2557.  AnsiGoto (11,7)
  2558.  Say (\:LEFT\*)
  2559.  AnsiGoto (11,8)
  2560.  Say (\:MEMO\*)
  2561.  AnsiGoto (11,9)
  2562.  Say (\:DOWNLOADS\*)
  2563.  AnsiGoto (11,10)
  2564.  Say (\:UPLOADS\*)
  2565.  AnsiGoto (11,11)
  2566.  Say (\:KDOWN\*)
  2567.  AnsiGoto (11,12)
  2568.  Say (\:KUP\*)
  2569.  AnsiGoto (51,1)
  2570.  Say (\:BIRTH\)
  2571.  AnsiGoto (51,2)
  2572.  Say (\:TIMESON\)
  2573.  AnsiGoto (51,3)
  2574.  Say (\:COMP\)
  2575.  AnsiGoto (51,4)
  2576.  Say (\:DROPPED\)
  2577.  AnsiGoto (51,5)
  2578.  Say (\:WORK\)
  2579.  AnsiGoto (51,6)
  2580.  Say (\:SUB\)
  2581.  AnsiGoto (51,7)
  2582.  Say (\:SUBDATE\)
  2583.  AnsiGoto (51,9)
  2584.  Say (\:DEFAVAIL\)
  2585.  AnsiGoto (1,14)
  2586.  If (&x)=(1) then goto (Check)
  2587.  If (&e)=(1) then goto (Secondary)
  2588.  If (&m)=(1) then goto (Secondary)
  2589.  
  2590. *AndMore
  2591. Say (&4&╔═══════════════════════════════════════════════════════════════════════════╗)
  2592. Say (║&7& KEYS:                      Edit this User                                &4& ║)
  2593. Say (║&7& 2 = Move Down              Next User                                     &4& ║)
  2594. Say (║&7& 8 = Move Up                Previous User                                 &4& ║)
  2595. Say (║&7& (ENTER) Selects            Last User                                     &4& ║)
  2596. Say (║&7&                            Search for User                               &4& ║)
  2597. Say (║&7&                            Quit to Sysop Menu                            &4& ║)
  2598. Say (╚═══════════════════════════════════════════════════════════════════════════╝)
  2599. Goto (Check)
  2600.  
  2601. *Secondary
  2602.  Say (&4&╔═══════════════════════════════════════════════════════════════════════════╗)
  2603.  Say (║                                                                           ║)
  2604.  Say (║                                                                           ║)
  2605.  Say (║                                                                           ║)
  2606.  Say (║                                                                           ║)
  2607.  Say (║                                                                           ║)
  2608.  Say (║                                                                           ║)
  2609.  Say (╚═══════════════════════════════════════════════════════════════════════════╝)
  2610.  If (&m)=(1) then loadmem(control\uedit3.ctl,goto(Another))
  2611.  If (&e)=(1) then loadmem(control\uedit2.ctl,goto(Edit))
  2612.  
  2613. *Check
  2614.  If (&f)=(1) then goto (place1)
  2615.  If (&f)=(2) then goto (place2)
  2616.  If (&f)=(3) then goto (place3)
  2617.  If (&f)=(4) then goto (place4)
  2618.  If (&f)=(5) then goto (place5)
  2619.  If (&f)=(6) then goto (place6)
  2620. *more
  2621.  MenuKey%CRON%
  2622.  if (%resp%)=(<CR>) then goto (chkifs)
  2623.  bigif (2:movehighlightfd,8:movehighlightbk,f:first,q:exedit)
  2624.  Goto(BadSel)
  2625.  
  2626. *Chkifs
  2627.  NotIf (&f)=(2) then goto (moreifs)
  2628.  goto (cont)
  2629. *moreifs
  2630.  If (&f)=(6) then goto (exedit)
  2631.  NotIf (&f)=(3) then goto (lastifs)
  2632.  Goto (cont)
  2633.  
  2634. *lastifs
  2635.  NotIf (&f)=(4) then Loadmem(control\uedit2.ctl,goto(selection))
  2636. *Cont 
  2637.  If (&f)=(4) then goto (Last)
  2638.  If (&f)=(3) then goto (prev)
  2639.  SaveUser (%var%z)
  2640.  inc(z)
  2641.  Numbusers()
  2642.  SetEqual (d=%ARESP%)
  2643.  inc(d)
  2644.  CmpVal(%var%d,%var%z)
  2645.  iftrue (setequal(Z=%var%d))
  2646.  SetEqual (x=1)
  2647.  Goto (Clearinfo)
  2648.  
  2649. *Prev
  2650.  SaveUser (%var%z)
  2651.  SetEqual (z=%var%z)
  2652.  NotIf (&z)=(0) then AddVar (&z+-1=z)
  2653.  If (&z)=(0) then SetEqual (z=1)
  2654.  SetEqual (x=1)
  2655.  Goto (Clearinfo)
  2656.  
  2657. *Last
  2658.  SaveUser (%var%z)
  2659.  Numbusers
  2660.  SetEqual (z=%ARESP%)
  2661.  SetEqual (x=0)
  2662.  Goto (ClearInfo)
  2663.  
  2664. *First
  2665.  SetEqual (z=1)
  2666.  Goto (ClearInfo)
  2667.  
  2668. *Temp
  2669.  ClearScr
  2670.  return
  2671.  
  2672. *EditUser
  2673.  Say (&7&Enter letter of item to change (Q to Quit Changing): *)
  2674.  MenuKey
  2675.  Say (&15& %RESP%)
  2676. BigIf(N:ChgName,S:ChgSt,F:ChgFrom,H:ChgPhone,C:ChgSec,P:ChgPass,T:ChgTL)
  2677. BigIf(M:ChgMemo,D:ChgDls,U:ChgUls,K:ChgDlK,L:ChgUlK,Q:Quit)
  2678.  Goto(BadSel)
  2679.  
  2680. *BadSel
  2681.   AnsiGoto (30,15)
  2682.   Say (              *)
  2683.   AnsiGoto (30,16)
  2684.   Say (         *)
  2685.   AnsiGoto (30,17)
  2686.   Say (             *)
  2687.   AnsiGoto (30,18)
  2688.   Say (         *)
  2689.   AnsiGoto (30,19)
  2690.   Say (               *)
  2691.   AnsiGoto (30,20)
  2692.   Say (                  *)
  2693.   AnsiGoto (30,17)
  2694.   Say (&12&Invalid Selection!*)
  2695.   SecPause(2)
  2696.   AnsiGoto (1,14)
  2697.   Goto (AndMore)
  2698.  
  2699. *Quit
  2700.  SetEqual (f=1)
  2701.  SetEqual (e=0)
  2702.  SetEqual (z=1)
  2703.  SetEqual (m=0)
  2704.  SetEqual (e=0)
  2705.  Goto (EvenMoreEdit)
  2706.  
  2707.  
  2708. *Place1
  2709.  AnsiGoto (30,15)
  2710.  Say ($7$&0&Edit this User$0$*)
  2711.  Goto (more)
  2712.  
  2713. *Place2
  2714.  AnsiGoto (30,16)
  2715.  Say ($7$&0&Next User$0$*)
  2716.  Goto (more)
  2717.  
  2718. *Place3
  2719.  AnsiGoto (30,17)
  2720.  Say ($7$&0&Previous User$0$*)
  2721.  Goto (more)
  2722.  
  2723. *Place4
  2724.  AnsiGoto (30,18)
  2725.  Say ($7$&0&Last User$0$*)
  2726.  Goto (more)
  2727.  
  2728. *Place5
  2729.  AnsiGoto (30,19)
  2730.  Say ($7$&0&Search for User$0$*)
  2731.  Goto (more)
  2732.  
  2733. *Place6
  2734.  AnsiGoto (30,20)
  2735.  Say ($7$&0&Quit to Sysop Menu$0$*)
  2736.  Goto (more)
  2737.  
  2738. *NormPlace1
  2739.  AnsiGoto (30,15)
  2740.  Say ($0$&7&Edit this User)
  2741.  SetEqual (f=2)
  2742.  Goto (check)
  2743.  
  2744. *NormPlace2
  2745.  AnsiGoto (30,16)
  2746.  Say ($0$&7&Next User)
  2747.  SetEqual (f=3)
  2748.  Goto (check)
  2749.  
  2750. *NormPlace3
  2751.  AnsiGoto (30,17)
  2752.  Say ($0$&7&Previous User)
  2753.  SetEqual (f=4)
  2754.  Goto (check)
  2755.  
  2756. *NormPlace4
  2757.  AnsiGoto (30,18)
  2758.  Say ($0$&7&Last User) 
  2759.  SetEqual (f=5)
  2760.  Goto (check)
  2761.  
  2762. *NormPlace5
  2763.  AnsiGoto (30,19)
  2764.  Say ($0$&7&Search for User) 
  2765.  SetEqual (f=6)
  2766.  Goto (check)
  2767.  
  2768. *NormPlace6
  2769.  AnsiGoto (30,20)
  2770.  Say ($0$&7&Quit to Sysop Menu)
  2771.  SetEqual (f=1)
  2772.  Goto (Check)
  2773.  
  2774. *BkPlace1
  2775.  AnsiGoto (30,15)
  2776.  Say ($0$&7&Edit this User)
  2777.  SetEqual (f=6)
  2778.  Goto (check)
  2779.  
  2780. *BkPlace2
  2781.  AnsiGoto (30,16)
  2782.  Say ($0$&7&Next User)
  2783.  SetEqual (f=1)
  2784.  Goto (check)
  2785.  
  2786. *BkPlace3
  2787.  AnsiGoto (30,17)
  2788.  Say ($0$&7&Previous User)
  2789.  SetEqual (f=2)
  2790.  Goto (check)
  2791.  
  2792. *BkPlace4
  2793.  AnsiGoto (30,18)
  2794.  Say ($0$&7&Last User) 
  2795.  SetEqual (f=3)
  2796.  Goto (check)
  2797.  
  2798. *BkPlace5
  2799.  AnsiGoto (30,19)
  2800.  Say ($0$&7&Search for User) 
  2801.  SetEqual (f=4)
  2802.  Goto (check)
  2803.  
  2804. *BkPlace6
  2805.  AnsiGoto (30,20)
  2806.  Say ($0$&7&Quit to Sysop Menu)
  2807.  SetEqual (f=5)
  2808.  Goto (Check)
  2809.  
  2810. *MoveHighlightFd
  2811.  setequal(/resp=%var%f)
  2812.  bigif(1:normplace1,2:normplace2,3:normplace3,4:normplace4,5:normplace5,6:normplace6)
  2813.  Goto (Edit)
  2814.  
  2815. *MoveHighlightBk
  2816.  setequal(/resp=%var%f)
  2817.  bigif(1:Bkplace1,2:Bkplace2,3:Bkplace3,4:Bkplace4,5:Bkplace5,6:Bkplace6)
  2818.  Goto (Edit)
  2819.  
  2820. *ClearInfo
  2821.  AnsiGoto (11,1)
  2822.  Say (                             *)
  2823.  AnsiGoto (11,2)
  2824.  Say (                             *)
  2825.  AnsiGoto (11,3)
  2826.  Say (                        *)
  2827.  AnsiGoto (11,4)
  2828.  Say (               *)
  2829.  AnsiGoto (11,5)
  2830.  Say (    *)
  2831.  AnsiGoto (11,6)
  2832.  Say (                    *)
  2833.  AnsiGoto (11,7)
  2834.  Say (     *)
  2835.  AnsiGoto (11,8)
  2836.  Say (                              *)
  2837.  AnsiGoto (11,9)
  2838.  Say (     *)
  2839.  AnsiGoto (11,10)
  2840.  Say (     *)
  2841.  AnsiGoto (11,11)
  2842.  Say (     *)
  2843.  AnsiGoto (11,12)
  2844.  Say (     *)
  2845.  AnsiGoto (51,1)
  2846.  Say (        *)
  2847.  AnsiGoto (51,2)
  2848.  Say (     *)
  2849.  AnsiGoto (51,3)
  2850.  Say (                    *)
  2851.  AnsiGoto (51,4)
  2852.  Say (     *)
  2853.  AnsiGoto (51,5)
  2854.  Say (               *)
  2855.  AnsiGoto (51,6)
  2856.  Say (  *)
  2857.  AnsiGoto (51,7)
  2858.  Say (        *)
  2859.  AnsiGoto (51,9)
  2860.  Say (  *)
  2861.  LoadUser (%var%z)
  2862.  SetEqual (x=0)
  2863.  Goto (PutInfo)
  2864.  
  2865. *exedit
  2866. clearscr
  2867. return
  2868.